ブログ上の表示名を「ニックネーム」にしているにも関わらず投稿者アーカイブからユーザー名がすっぱ抜かれていくので覚書メモ。
投稿者アーカイブにアクセスさせない
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を変更させるのがいいみたい。プラグイン自体は未検証なのでそのうち使ってみたい。