ブログ上の表示名を「ニックネーム」にしているにも関わらず投稿者アーカイブからユーザー名がすっぱ抜かれていくので覚書メモ。
投稿者アーカイブにアクセスさせない
functions.phpに下記追加
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) );
exit;
}
}
add_action('init', 'disable_author_archive');
結果
http://example.com/author/userID/でアクセスした際に404にリダイレクトされるようになった。

投稿者の記事一覧が表示されていたページが

404に。
投稿者アーカイブを無効化その2
上記だとnoticeエラーがでるのでそれが気になる場合はこちらを試してもいいかも。
// 投稿者アーカイブを無効化
function disable_author_archive( $query ){
if( !is_admin() && is_author() ){
$query->set_404();
status_header( 404 );
nocache_headers();
}
}
add_action( 'parse_query', 'disable_author_archive' );
Login rebuilder
Login rebuilderを使うとログインページを変える設定ができるうえに投稿者アーカイブの表示非表示を設定することができる。
投稿者アーカイブを使用したい場合はどうするか
複数人で管理している場合など、投稿者別にアーカイブがほしい場合もある。
そういう時はEdit Author Slugというプラグインを利用してアーカイブのURLを変更させるのがいいみたい。プラグイン自体は未検証なのでそのうち使ってみたい。