В работе с WordPress бывают ситуации, когда необходимо массово изменить автора у большого количества записей, например, если пользователь был удалён, а записи остались с его авторством. Также часто требуется просто убрать отображение автора на сайте. В этой статье разберём, как удалить или изменить автора старой записи в WordPress без плагинов, используя стандартные средства и немного кода.
Почему важно корректно менять автора записей в WordPress
WordPress по умолчанию связывает запись с определённым пользователем через поле post_author в базе данных. Если пользователь удаляется, записи остаются с ID автора, который уже не существует. Это может привести к ошибкам или появлению некорректной информации на сайте.
Кроме того, если вы хотите скрыть автора по соображениям дизайна или политики сайта, просто убрать вывод имени автора в шаблонах недостаточно — лучше поменять автора записи на специального пользователя, например, «Администратор» или «Гость».
Ниже рассмотрим несколько подходов для массового изменения автора и удаления автора из записей.
Как массово изменить автора записей через админ-панель WordPress
Если записей не очень много, можно воспользоваться встроенной функцией массового редактирования:
- Перейдите в «Записи» > «Все записи».
- Отметьте нужные записи или используйте фильтр по автору.
- В верхнем выпадающем списке «Групповое действие» выберите «Изменить» и нажмите «Применить».
- В появившемся блоке выберите нового автора из списка и нажмите «Обновить».
Этот метод удобен, но подходит только для управления небольшим количеством записей (до 20–30). Для массового изменения тысяч записей лучше использовать код.
Как изменить автора записей программно с помощью кода (PHP)
Для автоматизации процесса можно написать функцию, которая изменит автора у всех записей, принадлежащих определённому пользователю. Ниже пример функции с префиксом wplessons_ для уникальности:
function wplessons_change_post_author($old_author_id, $new_author_id) {
global $wpdb;
$wpdb->query(
$wpdb->prepare(
"UPDATE {$wpdb->posts} SET post_author = %d WHERE post_author = %d",
$new_author_id,
$old_author_id
)
);
}Использование:
wplessons_change_post_author(5, 1); // заменит автора с ID 5 на пользователя с ID 1Данная функция напрямую обновляет таблицу wp_posts, поэтому работает быстро и эффективно. Но использовать её нужно с осторожностью — обязательно сделайте резервную копию базы данных перед запуском.
Как узнать ID пользователя в WordPress
Для корректной работы функции нужно знать ID пользователей. Это можно сделать в админке:
- Перейдите в «Пользователи».
- Наведите курсор на имя пользователя.
- Внизу браузера появится ссылка вида
user_id=3— это и есть ID.
Как полностью удалить автора из записей (например, для анонимизации)
WordPress требует, чтобы запись имела автора. Однако можно создать специального пользователя с именем, например, «Аноним» или «Неизвестный», и назначить его автором всех записей, у которых хотите убрать автора.
Создайте пользователя «Аноним» с минимальными правами и ID, например, 999. Затем выполните:
wplessons_change_post_author($old_author_id, 999);Таким образом, записи будут показывать «Аноним» вместо реального автора.
Как убрать вывод автора из шаблона темы
Если задача — просто скрыть отображение автора в записи, можно отредактировать файлы темы, например, single.php или content-single.php. Найдите вызов функции the_author() или get_the_author() и удалите или закомментируйте его.
Также можно использовать CSS, если нет доступа к коду темы:
.post-author, .author-name { display: none; }Но это визуальное решение, автор остаётся в базе данных.
Использование плагина Clearfy Pro для управления авторами
Если вы хотите более гибко управлять авторами и метаданными записей, можно обратить внимание на плагин Clearfy Pro. Он позволяет оптимизировать метаданные, управлять пользовательскими ролями и многое другое.
Clearfy Pro предлагает удобный интерфейс для быстрого изменения автора записей без вмешательства в базу данных, а также другие полезные функции для оптимизации сайта.
Резюме: лучшие практики удаления или изменения автора старых записей
- Для небольшого количества записей — используйте массовое редактирование в админке.
- Для большого количества — пишите собственную функцию, как
wplessons_change_post_author, и запускайте через файл темы или отдельный скрипт. - Обязательно делайте резервную копию базы данных перед изменениями.
- Создайте пользователя «Аноним» для замены автора, если хотите скрыть информацию.
- Используйте плагин Clearfy Pro для удобного управления авторами без кода.
С помощью описанных методов вы сможете эффективно управлять авторами записей на вашем сайте WordPress, поддерживая чистоту и актуальность данных.