Спрятать автора постов 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;
}

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

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

This entry was posted in Wordpress. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *