В WordPress по умолчанию в записях и на страницах отображается имя автора — это может быть не всегда удобно или желаемо. Например, если вы хотите скрыть имя автора для улучшения безопасности, сделать сайт более анонимным или просто изменить отображаемое имя без установки дополнительных плагинов. В этой статье рассмотрим несколько способов, как можно удалить или изменить авторство в WordPress кодом, без использования плагинов.
Почему может потребоваться убрать или изменить авторство в WordPress
Отображение имени автора — стандартная практика в блогах и новостных сайтах. Однако есть ситуации, когда это не нужно или даже нежелательно:
- Безопасность: открытое имя автора облегчает подбор логинов для атак brute force.
- Анонимность: в корпоративных или новостных проектах иногда необходимо скрыть имя конкретного автора.
- Дизайн и UX: иногда имя автора не вписывается в дизайн или его просто не хотят отображать.
- Изменение имени автора: например, изменить ник или заменить на псевдоним.
Плагины есть, но они могут замедлять сайт или конфликтовать с темой. Поэтому лучше использовать собственные решения через functions.php или дочернюю тему.
Как убрать отображение автора из шаблона темы WordPress
Самый простой способ — удалить или закомментировать функции в шаблоне темы, которые выводят имя автора. Обычно это функции the_author(), the_author_posts_link() или шаблонные теги внутри entry-meta.
Откройте файлы темы, чаще всего content.php, single.php или index.php, и найдите строки с этими функциями. Например:
<span class="author"><?php the_author_posts_link(); ?></span>Удалите или закомментируйте эти строки. Но такой способ не универсален и требует правки темы после каждого обновления, если не используете дочернюю тему.
Удаление автора из RSS и метаданных WordPress
Даже если убрать имя автора из шаблона, WordPress по умолчанию оставляет его в RSS-ленте и метаданных, что может раскрывать информацию.
Чтобы убрать автора из RSS, добавьте в functions.php такую функцию:
function wphide_remove_author_from_rss() {
return '';
}
add_filter('the_author', 'wphide_remove_author_from_rss');<Это уберет вывод имени автора в RSS. Также стоит убрать автора из мета-тегов:
function wphide_remove_author_meta() {
if (is_single()) {
remove_action('wp_head', 'rel_canonical'); // пример, адаптируйте под свою тему
}
}
add_action('wp_head', 'wphide_remove_author_meta');Как программно изменить отображаемое имя автора в WordPress
Иногда нужно не убрать автора, а заменить его имя. Например, отобразить псевдоним или ник вместо настоящего имени.
Для этого можно использовать фильтр the_author:
function wphide_change_author_name($display_name) {
$user_id = get_the_author_meta('ID');
// Заменим имя автора с ID 2 на "Скрытый Автор"
if ($user_id == 2) {
return 'Скрытый Автор';
}
return $display_name;
}
add_filter('the_author', 'wphide_change_author_name');Этот код проверяет ID автора в текущей записи и заменяет имя на нужное. Можно расширить логику под свои нужды, например, для всех авторов или по ролям.
Использование короткого кода для вывода кастомного автора
Если вы хотите контролировать вывод автора прямо в контенте, можно создать шорткод:
function wphide_author_shortcode($atts) {
$atts = shortcode_atts(array(
'id' => get_the_author_meta('ID')
), $atts);
$author_name = get_the_author_meta('display_name', $atts['id']);
// Заменим имя на псевдоним
if ($atts['id'] == 2) {
$author_name = 'Скрытый Автор';
}
return esc_html($author_name);
}
add_shortcode('wphide_author', 'wphide_author_shortcode');Теперь в редакторе можно вставить [wphide_author id=2] и вывести нужное имя.
Как скрыть автора из REST API WordPress
REST API также возвращает автора записи, что может раскрывать данные. Чтобы убрать автора из REST API, добавьте в functions.php:
function wphide_remove_author_from_rest() {
register_rest_field('post', 'author_name', array(
'get_callback' => function() {
return '';
},
'schema' => null,
));
}
add_action('rest_api_init', 'wphide_remove_author_from_rest');<Это позволит не показывать имя автора при запросах к API.
Заключение: комплексный подход к удалению или изменению автора
Чтобы надежно убрать или изменить отображение автора в WordPress без плагинов, нужно действовать комплексно:
- Править шаблоны темы — убрать вызовы функций вывода автора.
- Использовать фильтры
the_authorдля замены имени автора на псевдоним. - Очищать вывод автора в RSS и метатегах.
- Убирать автора из REST API.
Такой подход позволит гибко управлять тем, как отображается информация об авторе на вашем сайте, не нагружая его лишними плагинами.
Если хотите дополнительно оптимизировать сайт и повысить безопасность, обратите внимание на плагин Clearfy Pro — он содержит множество инструментов для тонкой настройки WordPress, включая управление пользовательскими данными и безопасность.