В WordPress стандартно отображается имя автора публикации, которое можно задать в профиле пользователя. Однако бывают ситуации, когда необходимо изменить отображаемое имя автора без установки дополнительных плагинов. Например, нужно вывести псевдоним, никнейм или кастомное имя, не меняя при этом системные данные пользователя.
Почему стоит изменить отображаемое авторское имя вручную
Иногда стандартных настроек в профиле недостаточно для корректного отображения имени автора. Например, когда требуется:
- Вывести имя в формате «Имя Фамилия», а не только логин или никнейм;
- Использовать псевдоним, который не сохранять в профиле;
- Отобразить уникальное имя на сайте для каждого поста;
- Избежать установки дополнительных плагинов для снижения нагрузки.
Рассмотрим, как решить эти задачи программно.
Как изменить авторское имя в шаблоне темы
Самый простой способ изменить отображаемое имя автора — это отредактировать файл темы, где выводится имя автора. Обычно это single.php, content.php или подобный файл.
Вместо стандартного:
<?php the_author(); ?>можно вывести кастомное имя, используя функцию wphost_get_custom_author_name():
function wphost_get_custom_author_name($user_id) {
$user_info = get_userdata($user_id);
if (!$user_info) return '';
// Пример: выводим имя и фамилию, если они заданы
if (!empty($user_info->first_name) && !empty($user_info->last_name)) {
return $user_info->first_name . ' ' . $user_info->last_name;
}
// Если имя не задано, выводим никнейм
return $user_info->nickname;
}
// В шаблоне
$author_id = get_the_author_meta('ID');
echo esc_html(wphost_get_custom_author_name($author_id));Этот код выводит имя и фамилию пользователя, если они указаны, иначе — никнейм. Такой подход удобен, когда вы хотите использовать реальные имена без изменения стандартных полей.
Добавление кастомного поля для имени автора на уровне записи
Если нужно, чтобы имя автора менялось пост за постом, можно использовать произвольные поля (custom fields) записи.
Добавьте в админке при редактировании записи новое поле, например, custom_author_name, и укажите нужное имя.
В шаблоне для вывода имени используйте такой код:
function wphost_get_post_author_name() {
global $post;
$custom_name = get_post_meta($post->ID, 'custom_author_name', true);
if (!empty($custom_name)) {
return $custom_name;
}
// Если поле не заполнено, возвращаем имя автора
return wphost_get_custom_author_name($post->post_author);
}
echo esc_html(wphost_get_post_author_name());Таким образом, вы можете для каждого поста задавать уникальное имя автора без изменения данных пользователя.
Изменение автора в RSS-лентах и на страницах архива
Если требуется изменить отображение имени автора в RSS-ленте или на страницах архива, можно использовать фильтры WordPress.
Пример для фильтра the_author:
add_filter('the_author', 'wphost_filter_the_author_name');
function wphost_filter_the_author_name($display_name) {
global $post;
if (!$post) return $display_name;
$custom_name = get_post_meta($post->ID, 'custom_author_name', true);
if (!empty($custom_name)) {
return $custom_name;
}
$author_id = $post->post_author;
return wphost_get_custom_author_name($author_id);
}Этот фильтр перехватывает вывод имени автора и заменяет его на кастомное имя, если оно задано в метаполе записи.
Поддержка плагина Clearfy Pro для расширенного управления данными автора
Для более продвинутых пользователей, которые хотят не только изменить отображаемое имя, но и управлять SEO и безопасностью, полезно использовать плагин Clearfy Pro. Он позволяет гибко настраивать видимость данных автора и отключать ненужные функции WordPress.
Итоговые рекомендации
Изменение отображаемого имени автора в WordPress без плагинов возможно и не требует сложных действий. Важно понимать, где именно на сайте выводится имя и в каком формате оно должно быть. Используйте функции для вывода из профиля, добавляйте метаполя для записей и применяйте фильтры для глобального управления выводом.
Такой подход сохраняет производительность сайта, и при необходимости вы всегда можете расширить функционал с помощью готовых решений, таких как плагины от WPSHOP.