Как изменить имя автора поста в WordPress программно

Иногда при разработке сайта на WordPress возникает необходимость изменить отображаемое имя автора поста без изменения самого пользователя или создания новых аккаунтов. Например, нужно показывать псевдонимы, сокращённые имена или комбинировать имя и фамилию по-особенному. В этой статье рассмотрим, как это сделать с помощью кода, без установки дополнительных плагинов, используя фильтры WordPress.

Почему стандартные настройки имени автора могут не подходить

По умолчанию WordPress для отображения имени автора использует поле display_name пользователя. Однако бывают ситуации, когда:

  • Нужно скрыть реальные имена пользователей;
  • Отображать псевдонимы, отличные от тех, что заданы в профиле;
  • Использовать динамические имена авторов в зависимости от условий (например, для гостевых постов);
  • Автоматически подставлять альтернативные имена при выводе записей.

В этих случаях стандартных настроек WordPress недостаточно, и приходится применять программные методы.

Используем фильтр wpboot_get_the_author_display_name для изменения имени автора

Чтобы изменить имя автора без правки базы, можно воспользоваться фильтром the_author или get_the_author_display_name. Предлагаю создать собственную функцию с префиксом wpboot_ для лучшей читаемости и интеграции с вашим сайтом.

Пример функции для переопределения отображаемого имени автора:

function wpboot_get_custom_author_name($display_name, $user_id) {
    // Получаем данные пользователя
    $user_info = get_userdata($user_id);
    if (!$user_info) {
        return $display_name; // если пользователь не найден, возвращаем исходное имя
    }

    // Пример: заменяем имя автора на псевдоним из user meta 'wpboot_author_nickname'
    $custom_nickname = get_user_meta($user_id, 'wpboot_author_nickname', true);

    if (!empty($custom_nickname)) {
        return $custom_nickname; // если псевдоним задан, используем его
    }

    // Если нет псевдонима, возвращаем стандартное имя
    return $display_name;
}
add_filter('the_author', 'wpboot_get_custom_author_name', 10, 2);

Объяснение кода

Функция wpboot_get_custom_author_name получает оригинальное отображаемое имя и ID пользователя. Она проверяет, есть ли для пользователя мета-данные с ключом wpboot_author_nickname, и если да, то возвращает его вместо стандартного имени. Если мета-данных нет, возвращается исходное имя.

Такой подход позволяет гибко управлять отображением имён без изменения профиля пользователя.

Как добавить и использовать пользовательский псевдоним

Чтобы задать псевдоним, можно вручную добавить мета-значение для пользователя через админку или программно. Например, добавим псевдоним для пользователя с ID 2:

update_user_meta(2, 'wpboot_author_nickname', 'SuperAuthor');

Теперь при выводе автора у постов, написанных пользователем с ID 2, будет отображаться SuperAuthor.

Автоматическое добавление псевдонима при регистрации

Если хотите автоматически задавать псевдонимы, можно использовать хук регистрации пользователя:

function wpboot_set_default_author_nickname($user_id) {
    $user_info = get_userdata($user_id);
    if ($user_info) {
        $default_nickname = $user_info->user_login . '_wpboot';
        update_user_meta($user_id, 'wpboot_author_nickname', $default_nickname);
    }
}
add_action('user_register', 'wpboot_set_default_author_nickname');

Это создаст псевдоним на основе логина пользователя с суффиксом _wpboot.

Как применять изменённое имя автора в шаблонах WordPress

Чтобы выводить изменённое имя автора в шаблонах, используйте стандартные функции:

  • the_author() — выводит имя автора текущего поста;
  • get_the_author() — возвращает имя автора текущего поста;
  • get_the_author_meta('display_name', $author_id) — получает имя автора по ID.

Благодаря добавленному фильтру эти функции будут автоматически возвращать изменённое имя.

Пример в шаблоне single.php:

<?php the_author(); ?>

Дополнительные варианты кастомизации имени автора

Можно расширять функцию и добавлять более сложную логику, например:

  • Отображать разные имена для разных типов постов;
  • Использовать дополнительные поля профиля;
  • Выводить имя с ссылкой на социальные сети;
  • В зависимости от даты публикации менять имя автора.

Пример с условием для кастомного типа поста:

function wpboot_get_custom_author_name($display_name, $user_id) {
    global $post;
    if ($post && get_post_type($post) === 'custom_post_type') {
        return 'Автор: ' . $display_name;
    }
    return $display_name;
}
add_filter('the_author', 'wpboot_get_custom_author_name', 10, 2);

Используем плагины для управления авторами (опционально)

Если хотите более удобный интерфейс без кода, обратите внимание на плагины:

  • Co-Authors Plus — позволяет назначать нескольких авторов для поста;
  • Clearfy Pro — плагин для оптимизации и настройки сайта, включая расширенные возможности по управлению авторами.

Но если нужна легковесная кастомизация — кодовый подход из статьи предпочтительнее.

Заключение

Изменение имени автора поста в WordPress программно — простая и полезная задача, которая позволяет гибко управлять отображением информации без создания новых пользователей и установки лишних плагинов. Используйте фильтр the_author или get_the_author_display_name и храните кастомные имена в user meta. Приведённые примеры кода легко адаптируются под любые задачи и помогают улучшить пользовательский опыт на сайте.

Как сделать автоматический экспорт постов WordPress в Excel
30.03.2026
WooCommerce: как использовать хук woocommerce_before_calculate_totals для автоматического изменения цен
07.07.2026
Как автоматизировать создание резервных копий WordPress с помощью PHP и плагинов
16.04.2026
Как автоматизировать обновление тем и плагинов в WordPress без рисков
15.03.2026
Как использовать хук pre_get_posts для фильтрации записей в WordPress
30.04.2026