В процессе управления сайтом на WordPress иногда возникает необходимость массово изменить автора большого количества записей. Например, если меняется структура редакции, происходит переименование пользователей или нужно переназначить все посты с одного автора на другого. Выполнять это вручную неудобно и долго, особенно при большом объёме контента.
Почему важно правильно менять автора постов
Авторы записей влияют не только на отображение информации о создателе контента, но и на структуру прав доступа, SEO-настройки, а также на интеграции с внешними сервисами. Неправильное изменение автора может привести к потерям данных или нарушению логики работы сайта.
Поэтому при массовом изменении автора важно использовать корректные методы, которые сохранят все связи и метаданные.
Способы массового изменения автора постов в WordPress
1. Использование стандартных возможностей админки WordPress
Если количество записей не слишком большое, можно использовать встроенный функционал:
- Перейдите в раздел Записи > Все записи.
- Отметьте нужные записи галочками.
- В выпадающем списке "Массовые действия" выберите "Изменить" и нажмите "Применить".
- В появившемся блоке выберите нового автора и сохраните изменения.
Этот способ удобен для небольшого количества записей, но при большом объёме он становится непрактичным.
2. Использование плагинов для массового изменения автора
Существуют специализированные плагины, которые позволяют быстро и безопасно менять авторов постов.
Рассмотрим пример плагина Change Post Author. Он позволяет выбрать старого автора и заменить его на нового во всех записях.
Также можно использовать плагин Clearfy Pro, который расширяет возможности по управлению сайтом, в том числе удобные инструменты для массового редактирования контента.
3. Массовое изменение автора с помощью SQL-запроса
Если у вас есть доступ к базе данных и вы уверены в своих действиях, можно выполнить SQL-запрос напрямую. Но будьте внимательны и обязательно сделайте резервную копию базы данных перед изменениями.
UPDATE wp_posts SET post_author = NEW_AUTHOR_ID WHERE post_author = OLD_AUTHOR_ID AND post_type = 'post';Замените NEW_AUTHOR_ID на ID пользователя, которому хотите назначить посты, а OLD_AUTHOR_ID — на ID текущего автора.
Этот способ очень быстрый, но требует понимания структуры базы данных и аккуратности.
4. Использование PHP-кода для массового изменения автора
Лучший способ для разработчиков — написать собственный скрипт, который выполнит изменение через API WordPress. Это безопаснее и позволяет добавлять дополнительную логику по необходимости.
Пример функции wpbloger_change_post_author_mass для массового изменения автора:
function wpbloger_change_post_author_mass( $old_author_id, $new_author_id ) {
$args = [
'author' => $old_author_id,
'post_type' => 'post',
'posts_per_page'=> -1,
'fields' => 'ids',
];
$posts = get_posts( $args );
foreach ( $posts as $post_id ) {
wp_update_post([
'ID' => $post_id,
'post_author' => $new_author_id,
]);
}
}Вызывайте эту функцию, передавая ID старого и нового автора. Она переберёт все записи старого автора и обновит их.
Дополнительные советы и рекомендации
Проверка ID пользователей
Перед изменением убедитесь, что ID пользователей корректны. Получить ID можно через админку в разделе Пользователи или с помощью запроса:
SELECT ID, user_login FROM wp_users;Учет пользовательских типов записей
Если на сайте используются кастомные типы записей, и вы хотите изменить автора и у них, добавьте их в параметр post_type массива аргументов. Например:
$args = [
'author' => $old_author_id,
'post_type' => ['post', 'custom_post_type'],
'posts_per_page' => -1,
'fields' => 'ids',
];Автоматизация через WP-CLI
Если на вашем сервере доступна консольная утилита WP-CLI, можно использовать команду для массового обновления:
wp post list --author=OLD_AUTHOR_ID --post_type=post --format=ids | xargs -d ' ' -I % wp post update % --post_author=NEW_AUTHOR_IDЭто очень быстрый и удобный способ для администраторов с опытом работы в консоли.
Заключение
Массовое изменение автора постов — частая задача, которую можно решить разными способами: от стандартных инструментов в админке до программного кода и SQL-запросов. Для безопасной и гибкой работы рекомендуем использовать PHP-функции по API WordPress или проверенные плагины, например, Clearfy Pro. А для опытных пользователей отлично подойдёт WP-CLI.
Если у вас остались вопросы или нужны дополнительные примеры, пишите в комментариях — поможем настроить под ваши задачи.