В администрировании WordPress часто возникает необходимость изменить или полностью удалить авторские данные из записей и страниц. Это может понадобиться для защиты приватности, смены имени автора или при миграции сайта. В этой статье мы разберём, как программно убрать или изменить авторские данные, используя хуки, функции и плагины, а также рассмотрим лучшие практики.
Что такое авторские данные в WordPress и где они хранятся
Авторские данные в WordPress — это информация о пользователе, который создал или редактировал запись. Основные данные хранятся в базе данных в таблицах wp_posts (поле post_author) и wp_users. В тему оформления часто выводятся имя автора, ссылка на его архив, аватар и метаданные.
Изменить или удалить эти данные напрямую в базе можно, но правильнее использовать API WordPress, чтобы не нарушить работу сайта и сохранить совместимость с плагинами.
Удаление имени автора из записей — способы и примеры
Самый простой способ — скрыть имя автора на уровне темы. Для этого можно переопределить шаблон или использовать CSS, но это не удаляет данные из HTML и базы.
Программно удалить автора из записей поможет фильтр the_author или get_the_author. Пример функции для замены имени автора на пустую строку:
function wpid_remove_author_name($author) {
return '';
}
add_filter('the_author', 'wpid_remove_author_name');
add_filter('get_the_author', 'wpid_remove_author_name');
Этот метод работает, если тема использует стандартные функции для вывода автора. Если тема выводит автора напрямую, потребуется правка шаблонов.
Удаление ссылки на архив автора
Чтобы убрать ссылку на архив с имени автора, используйте фильтр author_link:
function wpid_remove_author_link($link) {
return '';
}
add_filter('author_link', 'wpid_remove_author_link');
Это предотвратит переход по ссылке, сохранив при этом имя (если нужно).
Изменение имени автора программно через код
Если нужно заменить имя автора на другое без изменения данных пользователя, можно сделать так:
function wpid_change_author_name($display_name) {
if (is_single()) {
return 'Скрытый автор';
}
return $display_name;
}
add_filter('the_author', 'wpid_change_author_name');
add_filter('get_the_author_display_name', 'wpid_change_author_name');
Этот код заменит имя автора на «Скрытый автор» только на страницах записей.
Изменение автора записи через административный интерфейс и программно
В стандартном админ-панеле WordPress можно сменить автора через редактор записи. Но если нужно массово изменить автора программно, используйте следующий код:
function wpid_change_post_author($post_id, $new_author_id) {
$post = get_post($post_id);
if ($post) {
$post->post_author = $new_author_id;
wp_update_post($post);
}
}
Пример вызова функции для смены автора поста с ID 123 на пользователя с ID 5:
wpid_change_post_author(123, 5);
Такую функцию удобно использовать для миграции или исправления ошибок.
Использование плагинов для управления авторскими данными
Если вы предпочитаете готовые решения, обратите внимание на плагины:
- WP Author Remover — скрывает имя автора и ссылку без правок кода.
- Reveal IDs — помогает найти ID пользователей и постов для программных изменений.
- Clearfy Pro (https://wpshop.ru/plugins/clearfy-pro/?utm_source=wpid.ru&utm_medium=article&utm_campaign=kak-udalit-ili-izmenit-avtorskie-dannye-v-wordpress) — расширяет возможности оптимизации, включая управление метаданными.
Эти плагины сэкономят время и обеспечат удобный интерфейс для задач с авторами.
Удаление метаданных автора из REST API
Если ваш сайт использует REST API, стоит убрать авторские данные из ответов для безопасности и приватности. Добавьте в functions.php или плагин следующее:
function wpid_remove_author_from_rest() {
remove_action('rest_api_init', 'wp_oembed_register_route');
register_rest_field('post', 'author_name', array(
'get_callback' => function () { return ''; },
'schema' => null,
));
}
add_action('init', 'wpid_remove_author_from_rest');
Это пример, который требует доработки под конкретные задачи, но показывает направление.
Резюме и рекомендации
Удаление или изменение авторских данных в WordPress — задача, которую можно решить разными способами: от простой замены вывода имени через фильтры до программного изменения автора в базе. Выбор подхода зависит от конкретной задачи и уровня доступа к сайту.
Рекомендуется сначала тестировать изменения на локальной копии сайта, чтобы избежать ошибок на живом ресурсе.
Для удобства и безопасности используйте проверенные плагины, например, Clearfy Pro, если нужна комплексная оптимизация и управление.