Спрятать автора постов WordPress


По дефолту неумный ворлдресс светит логин пользователя в URL автора каждого поста. Чтобы это убрать: в дочерней теме, в файле functions.php пихаем:

/**
 * Remove author display name
 * @param $display_name
 * @return string
 */
function my_remove_author_display_name( $display_name ) {
    if ( ! is_admin() ) {
        return '';
    }
    return $display_name;
}
add_filter( 'the_author', 'my_remove_author_display_name' );

/**
 * Adjust API endpoint availability to hide user info
 */
function my_api_endpoint_setup( $endpoints ) {
    if ( isset( $endpoints['/wp/v2/users'] ) ) {
        unset( $endpoints['/wp/v2/users'] );
    }
    if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
        unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
    }
    return $endpoints;
}
add_filter( 'rest_endpoints', 'my_api_endpoint_setup' );

Первый кусок вырубает отображение; второй убирает в воду концы API.

Если у вас нет дочерней темы или вы не знаете что это, есть более колхозный вариант — скрыть по css, например:

span.author.vcard {
	display: none;
}
span.meta-sep {
	display: none;
}

От сурьезных парней от не спасет, но типичного кулхацкера может спасти.

Также учтите, что некоторые плагины тоже светят логин; это надо проверять индивидуально.


Запись опубликована в рубрике Wordpress. Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.