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

В стандартной теме WordPress в блоке автора (author box) ссылка на профиль автора ведет на страницу архивов записей этого автора. Иногда возникает задача изменить этот URL — например, направить ссылку на персональный сайт автора, страницу в соцсетях или на кастомный профиль. В этой статье подробно разберем, как это сделать без использования плагинов, только с помощью кода в functions.php или собственном плагине.

Что такое авторский блок и зачем менять URL ссылки

Авторский блок — это элемент, который часто выводится под постом и содержит имя автора, его аватар и ссылку на архив его записей. По умолчанию WordPress формирует URL архива автора с помощью функции get_author_posts_url(). Однако иногда стандартный URL неудобен или не соответствует требованиям сайта:

  • Нужно направить посетителей на персональный сайт автора.
  • Хотим заменить ссылку на социальные сети.
  • В компании есть единая страница профилей, и нужно вести туда.

Изменение URL повысит удобство навигации и улучшит пользовательский опыт.

Как изменить URL ссылки в авторском блоке через фильтр WordPress

Самый простой и правильный способ — использовать фильтр author_link. Он позволяет перехватить формируемый URL и заменить его на любой другой.

Пример функции для изменения ссылки на сайт, указанный в пользовательском поле user_url_custom:

function wpdigest_change_author_url($link, $author_id, $author_nicename) {
    $custom_url = get_user_meta($author_id, 'user_url_custom', true);
    if (!empty($custom_url)) {
        return esc_url($custom_url);
    }
    return $link;
}
add_filter('author_link', 'wpdigest_change_author_url', 10, 3);

Здесь мы получаем дополнительное поле пользователя и если оно заполнено — заменяем стандартную ссылку. Это дает гибкость для каждого автора задавать свой URL.

Как добавить пользовательское поле для URL автора

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

function wpdigest_show_custom_user_profile($user) {
    ?>
    <h3>Дополнительный URL автора</h3>
    <table class="form-table">
        <tr>
            <th><label for="user_url_custom">Персональный сайт</label></th>
            <td>
                <input type="text" name="user_url_custom" id="user_url_custom" value="<?php echo esc_attr(get_the_author_meta('user_url_custom', $user->ID)); ?>" class="regular-text" /><br />
                <span class="description">Введите URL сайта или профиля соцсети.</span>
            </td>
        </tr>
    </table>
    <?php
}
add_action('show_user_profile', 'wpdigest_show_custom_user_profile');
add_action('edit_user_profile', 'wpdigest_show_custom_user_profile');

function wpdigest_save_custom_user_profile($user_id) {
    if (!current_user_can('edit_user', $user_id)) {
        return false;
    }
    update_user_meta($user_id, 'user_url_custom', esc_url_raw($_POST['user_url_custom']));
}
add_action('personal_options_update', 'wpdigest_save_custom_user_profile');
add_action('edit_user_profile_update', 'wpdigest_save_custom_user_profile');

Теперь в админке у каждого пользователя появится поле для указания кастомного URL, который будет использоваться в авторском блоке.

Изменение URL при использовании темы с авторским блоком

Если тема выводит авторский блок напрямую, иногда нужно модифицировать шаблоны. Например, найти вызов get_author_posts_url() или the_author_posts_link() и заменить их на вызов кастомной функции:

function wpdigest_get_custom_author_link($author_id) {
    $custom_url = get_user_meta($author_id, 'user_url_custom', true);
    if (!empty($custom_url)) {
        return esc_url($custom_url);
    }
    return get_author_posts_url($author_id);
}

В шаблоне:

<a href="<?php echo wpdigest_get_custom_author_link(get_the_author_meta('ID')); ?>"><?php the_author(); ?></a>

Так вы точно контролируете ссылку, которую видит пользователь.

Пример использования плагина Clearfy для управления ссылками авторов

Плагин Clearfy позволяет оптимизировать и настраивать множество аспектов WordPress, включая управление ссылками авторов. Хотя он не меняет URL авторов напрямую, его функции очистки и оптимизации помогут избежать конфликтов и улучшить работу кастомных решений.

Советы и рекомендации по безопасности и SEO

При изменении URL автора важно учитывать:

  • Проверяйте корректность URL с помощью esc_url() и esc_url_raw().
  • Используйте rel="noopener noreferrer" для внешних ссылок в шаблоне.
  • Если меняете ссылку на внешние сайты, убедитесь, что это не приведет к SEO-проблемам или потере веса ссылок.
  • Кэшируйте результат, если на сайте большой трафик, чтобы не перегружать базу запросами к метаданным.

Итог: как сделать изменение URL в авторском блоке максимально гибким

Подводя итог, рекомендуем использовать фильтр author_link для динамической замены URL на основе пользовательских данных. Добавьте поле в профиль автора и выводите кастомный URL во всех местах, где есть ссылка на автора. Это универсальное и безопасное решение, которое не требует тяжелых плагинов и легко поддерживается.

Если нужна дополнительная функциональность — например, массовое управление или интеграция с соцсетями — можно подключить плагины из WPShop, которые дополнят этот базовый функционал.

Создание уникального отзывного блока в WordPress с AJAX
21.12.2025
WooCommerce: как автоматически изменять цены товаров при скидках через код
22.04.2026
WooCommerce: как автоматически изменять шаблоны писем через код
11.06.2026
WooCommerce: как автоматически удалять неактивные заказы через код
04.06.2026
WooCommerce: автоматическое изменение стоимости доставки по регионам клиента
03.07.2026