В некоторых случаях при работе с WordPress может возникнуть необходимость удалить отображение автора записи или изменить его на другой, не создавая нового пользователя. Например, это важно для сайтов с несколькими авторами, где нужно скрыть автора, объединить записи под единым именем или убрать авторство из публичного отображения.
Почему стандартные настройки WordPress не всегда подходят для удаления автора
По умолчанию WordPress выводит имя автора на страницах записей, используя функцию the_author() или get_the_author(). Однако в админке нет простой опции, чтобы полностью убрать или изменить автора без создания или редактирования пользователя. Придется либо менять шаблон, либо использовать плагины, либо писать свой код.
Кроме того, если у вас несколько авторов, а вы хотите объединить записи под одним общим автором, стандартное редактирование пользователя не всегда удобно, особенно если нужно массово изменить автора.
Как удалить отображение автора из шаблона с помощью кода (wpbook_remove_author_display)
Самый простой способ убрать автора — запретить вывод информации в шаблоне. Для этого в файле темы, например single.php или других шаблонах, где выводится автор, найдите вызовы функций the_author() или аналогичные и удалите их.
Если вы хотите сделать это программно и централизованно, можно использовать фильтр WordPress, чтобы перезаписать вывод автора.
function wpbook_remove_author_display($author) {
return '';
}
add_filter('the_author', 'wpbook_remove_author_display');Этот код в functions.php темы или в вашем плагине полностью уберёт имя автора из вывода.
Однако иногда в шаблоне используются другие способы вывода, например get_the_author_meta(), тогда можно добавить дополнительные фильтры:
add_filter('the_author_display_name', 'wpbook_remove_author_display');
add_filter('get_the_author_display_name', 'wpbook_remove_author_display');Так вы гарантируете, что имя автора нигде не отобразится.
Как изменить автора у записей программно (wpbook_change_post_author)
Если стоит задача не просто скрыть автора, а изменить автора записей, например, объединить их под одним пользователем, это легко сделать с помощью функции wp_update_post и указания нового автора в поле post_author.
Пример функции для массового изменения автора определённого набора записей:
function wpbook_change_post_author($old_author_id, $new_author_id) {
global $wpdb;
$wpdb->update(
$wpdb->posts,
array('post_author' => $new_author_id),
array('post_author' => $old_author_id)
);
clean_post_cache($old_author_id);
clean_post_cache($new_author_id);
}Вызывайте эту функцию, передав ID старого автора и ID нового автора.
Важно: перед выполнением операции сделайте резервную копию базы данных, чтобы избежать потери данных.
Плагины для управления отображением автора в WordPress
Если не хотите писать код, рассмотрите готовые решения:
- WP Author, Date and Meta Remover — плагин для скрытия информации об авторе и дате публикации.
- Co-Authors Plus — позволяет назначать нескольких авторов и гибко управлять выводом авторства, включая возможность скрыть автора.
- Simple Author Box — выводит расширенную информацию об авторе и позволяет настраивать отображение или отключать его.
Выбирайте плагин исходя из задач и совместимости с вашей темой и другими плагинами.
Как скрыть автора с помощью CSS
Если вы хотите временно или быстро скрыть автора без изменения кода PHP, можно сделать это стилями CSS. Найдите класс или идентификатор, который отвечает за блок с автором, и добавьте правило:
.post-author, .author-info {
display: none !important;
}Этот способ подходит, если не требуется удалять автора из HTML, а достаточно скрыть его визуально.
Итоги и рекомендации по удалению или изменению автора
Удаление автора полностью лучше делать через фильтры и изменения шаблона, чтобы не влиять на внутренние данные записи.
Если нужно изменить автора у большого количества записей, лучше использовать прямое обновление в базе данных или через WP_Query + wp_update_post.
Использование плагинов подходит, если вы не хотите касаться кода и предпочитаете готовые решения с настройками в админке.
И помните, что независимо от выбранного способа, всегда делайте резервную копию сайта и базы данных перед изменениями.