В некоторых проектах на WordPress возникает необходимость массово изменить или даже убрать автора из опубликованных записей. Это может быть связано с ребрендингом, сменой контента или требованиями к дизайну сайта. В этой статье мы подробно разберем, как удалить или изменить автора постов в WordPress, используя как стандартные средства, так и кастомные решения с помощью кода и плагинов.
Почему важно корректно менять автора постов
Автор — важная метаинформация для каждой записи. Он влияет на доверие пользователей, SEO и внутреннюю структуру сайта. Неправильное удаление или изменение автора может привести к ошибкам в отображении, появлению «без автора» или даже сломать ссылки на архивы авторов.
Поэтому важно подходить к задаче системно, чтобы обеспечить корректный вывод данных и сохранить целостность сайта.
Как изменить автора поста через админ-панель WordPress
Самый простой способ изменить автора одного поста — через админку WordPress:
- Откройте редактирование записи в админке.
- В правой боковой панели найдите метабокс «Автор». Если его нет, включите через меню «Настройки экрана» вверху страницы.
- Выберите нужного пользователя из списка и сохраните изменения.
Этот способ удобен для единичных записей, но не подходит для массового редактирования.
Массовое изменение автора постов через стандартный функционал WordPress
WordPress позволяет массово изменить автора для нескольких постов:
- Перейдите в «Записи» → «Все записи».
- Выделите нужные записи чекбоксами.
- В выпадающем списке «Групповые действия» выберите «Изменить» и нажмите «Применить».
- В появившемся блоке выберите нового автора и нажмите «Обновить».
Данный метод быстрый, но не позволяет удалить автора — только заменить на другого.
Как удалить автора постов — варианты решений
WordPress из коробки не позволяет полностью удалить автора записи, так как поле author_id является обязательным для постов. Но есть несколько рабочих вариантов:
1. Присвоить посты пользователю «Гость»
Создайте пользователя с именем, например, «Гость», и массово присвойте его всем нужным постам. Таким образом, будет «удален» реальный автор.
2. Скрыть автора в шаблоне
Если нужно убрать отображение автора на сайте, но не менять данные в базе, можно просто скрыть вывод автора в шаблоне темы. Например, в файле single.php или шаблонах архива:
<?php
// Вместо стандартного вывода автора делаем ничего
// или выводим кастомный текст
?>
Или CSS-стилями скрыть блок с классом автора.
3. Использовать фильтр WordPress для изменения вывода автора
Можно программно переопределить автора при выводе с помощью фильтра the_author. Пример функции для wpbegin:
function wpbegin_filter_the_author($author) {
// Возвращаем пустую строку, чтобы не показывать автора
return '';
}
add_filter('the_author', 'wpbegin_filter_the_author');
Пример кода для массового изменения автора постов
Если нужно программно изменить автора постов, можно использовать следующий код. Этот пример меняет автора всех постов с одного ID на другой:
function wpbegin_change_author_for_posts($old_author_id, $new_author_id) {
global $wpdb;
$wpdb->query( $wpdb->prepare(
"UPDATE {$wpdb->posts} SET post_author = %d WHERE post_author = %d AND post_type = 'post'",
$new_author_id,
$old_author_id
));
}
// Пример использования, меняем автора с ID 3 на ID 1
wpbegin_change_author_for_posts(3, 1);
Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин.
Использование плагинов для управления авторами
Существуют удобные плагины, которые помогут управлять авторами более гибко:
- Co-Authors Plus — позволяет назначать нескольких авторов на пост, а также удобно менять и скрывать авторов.
- WP User Avatar — для кастомизации аватаров авторов и их отображения.
- Clearfy Pro — плагин для оптимизации и настройки WordPress, есть функции по управлению метаинформацией, включая авторов.
Как убрать автора из RSS-ленты
Если на сайте важно скрыть автора из RSS, используйте следующий фильтр:
function wpbegin_remove_author_from_rss($content) {
if (is_feed()) {
$content = preg_replace('/<author>.*?<\/author>/is', '', $content);
}
return $content;
}
add_filter('the_content_feed', 'wpbegin_remove_author_from_rss');
Это позволит исключить автора из RSS, не меняя данные в базе.
Выводы и рекомендации
Изменение или удаление автора постов — частая задача, которая требует аккуратного подхода. Для массового изменения лучше использовать программные методы или групповые операции через админку. Полное удаление автора невозможно без нарушения структуры данных, но всегда можно скрыть автора на фронтенде.
Для удобства и безопасности используйте проверенные плагины и делайте бэкапы перед массовыми изменениями. Если хотите автоматизировать процесс и оптимизировать сайт, советуем ознакомиться с Clearfy Pro — плагином с полезными функциями для управления WordPress.