Почему важно уметь менять имя автора в WordPress
В WordPress имя автора по умолчанию берётся из профиля пользователя и отображается в метаданных поста, на страницах автора и в комментариях. Иногда необходимо изменить отображаемое имя автора без создания нового пользователя или установки плагинов, чтобы сохранить структуру сайта и SEO. Например, можно указать псевдоним, бренд или имя компании вместо реального имени пользователя.
Также изменение имени автора полезно при миграции сайта или при необходимости изменить отображаемую информацию без сложных манипуляций.
В этом руководстве мы рассмотрим несколько способов, как это сделать с помощью кода, используя функции WordPress и фильтры.
Изменение отображаемого имени автора через редактирование профиля
Самый простой способ — отредактировать поле «Отображаемое имя» в профиле пользователя. Для этого:
- Перейдите в админку WordPress в «Пользователи» → «Ваш профиль».
- Заполните поле «Отображаемое имя публично» любым именем, которое хотите видеть.
- Сохраните изменения.
Это повлияет на все посты и комментарии, связанные с этим пользователем. Однако иногда нужно вывести уникальные имена автора только на отдельных постах или страницах.
Изменение имени автора программно через фильтр get_the_author
Для динамической подмены имени автора без изменения данных пользователя в базе можно использовать фильтр get_the_author. Например, если хотите подставлять другое имя в зависимости от ID автора, можно добавить такой код в файл functions.php вашей темы или в отдельный плагин:
function wpbloger_get_the_author($display_name) {
global $post;
if (!$post) return $display_name;
$author_id = $post->post_author;
// Пример: если автор с ID 2, то меняем имя
if ($author_id == 2) {
return 'Маркетолог WPBloger';
}
return $display_name;
}
add_filter('the_author', 'wpbloger_get_the_author');Этот код проверяет автора текущего поста и, если ID равен 2, подставляет альтернативное имя. В остальных случаях имя выводится как есть.
Такой метод полезен, если хотите применять кастомные имена без изменения данных пользователя.
Пример с использованием метаполя пользователя
Можно расширить функционал, добавив метаполе для альтернативного имени автора. Для этого в профиле пользователя создать дополнительное поле (например, через пользовательский интерфейс или программно), а затем выводить это имя, если оно задано:
function wpbloger_get_the_author($display_name) {
global $post;
if (!$post) return $display_name;
$author_id = $post->post_author;
$custom_name = get_user_meta($author_id, 'wpbloger_custom_author_name', true);
if (!empty($custom_name)) {
return $custom_name;
}
return $display_name;
}
add_filter('the_author', 'wpbloger_get_the_author');Для добавления поля в профиль пользователя можно использовать следующий код:
function wpbloger_show_custom_author_name_field($user) {
?>
<h3>Дополнительные настройки автора</h3>
<table class="form-table">
<tr>
<th><label for="wpbloger_custom_author_name">Альтернативное имя автора</label></th>
<td>
<input type="text" name="wpbloger_custom_author_name" id="wpbloger_custom_author_name" value="<?php echo esc_attr(get_user_meta($user->ID, 'wpbloger_custom_author_name', true)); ?>" class="regular-text" /><br />
<span class="description">Введите имя, которое будет отображаться вместо стандартного.</span>
</td>
</tr>
</table>
<?php
}
add_action('show_user_profile', 'wpbloger_show_custom_author_name_field');
add_action('edit_user_profile', 'wpbloger_show_custom_author_name_field');
function wpbloger_save_custom_author_name_field($user_id) {
if (!current_user_can('edit_user', $user_id)) {
return false;
}
update_user_meta($user_id, 'wpbloger_custom_author_name', sanitize_text_field($_POST['wpbloger_custom_author_name']));
}
add_action('personal_options_update', 'wpbloger_save_custom_author_name_field');
add_action('edit_user_profile_update', 'wpbloger_save_custom_author_name_field');Теперь в профиле пользователя можно задать альтернативное отображаемое имя, которое автоматически выведется на сайте.
Изменение имени автора на странице архива автора
На страницах автора WordPress выводит заголовок с именем пользователя. Чтобы заменить его на альтернативное имя, можно использовать фильтр get_the_author_meta или переопределить шаблон архива автора.
Пример замены имени автора в заголовке:
function wpbloger_author_archive_name($name, $user_id) {
$custom_name = get_user_meta($user_id, 'wpbloger_custom_author_name', true);
if (!empty($custom_name)) {
return $custom_name;
}
return $name;
}
add_filter('get_the_author_display_name', 'wpbloger_author_archive_name', 10, 2);Это изменит отображаемое имя автора в заголовке архива на альтернативное.
Использование плагинов для расширенных возможностей имени автора
Хотя задача решается кодом, иногда удобнее использовать плагины, особенно если не хотите писать код.
Рекомендуется обратить внимание на плагины, которые позволяют добавлять поля пользователя и менять отображение имени, например:
- Clearfy Pro — предлагает расширенные настройки профилей и оптимизации.
- WPCommunity — расширяет управление пользователями и их профилями.
Однако если нужна лёгкая и контролируемая кастомизация, лучше использовать код из этого руководства.
Советы по SEO и безопасности при изменении имени автора
При замене имени автора важно сохранять правильную структуру микроразметки и семантики, чтобы поисковики корректно понимали автора контента. Не стоит использовать имена, вводящие в заблуждение или нарушающие авторские права.
Также убедитесь, что альтернативные имена не содержат вредоносного кода и проходят очистку с помощью функций вроде sanitize_text_field.
Для лучшего SEO можно дополнительно настроить микроразметку в шаблонах темы, добавляя правильные атрибуты rel="author" и микроданные Schema.org.
Выводы и рекомендации
Изменить имя автора в WordPress без плагинов вполне реально и удобно с помощью фильтров и дополнительных пользовательских полей. Это позволяет гибко управлять отображаемыми именами авторов, не создавая лишних пользователей и не устанавливая тяжелые плагины.
В большинстве случаев достаточно отредактировать поле «Отображаемое имя» в профиле, но для более сложных задач подойдёт программный подход, который мы рассмотрели выше.
Если хотите упростить работу и получить дополнительные возможности — обратите внимание на упомянутые плагины от WPSHOP.