WordPress

WordPressのユーザー名を隠したい

ブログ上の表示名を「ニックネーム」にしているにも関わらず投稿者アーカイブからユーザー名がすっぱ抜かれていくので覚書メモ。

投稿者アーカイブにアクセスさせない

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');

参考:WordPressのログインユーザー名は丸見え!?

結果

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を変更させるのがいいみたい。プラグイン自体は未検証なのでそのうち使ってみたい。

  • この記事を書いた人

ゆず

忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
一杯おごる

-WordPress
-