WordPressでURLにログインユーザー名が表示されないようにリダイレクトさせる方法

この記事はWordPressで作成したサイトで、ログインユーザー名が表示されないようにリダイレクトさせる設定について書いてます。

URLの後に/?author=1などのユーザーIDを指定したクエリを入力すると、そのユーザーの作成した記事一覧が表示されるページがひらかれ

https://example.com/author/ユーザー名

となります。

ログインユーザー名を知られてしまうのはセキュリティ的によろしくないので、もしリダイレクトさせたいという場合は参考にしてください。

WordPressでログインユーザー名がばれないようにリダイレクトさせるコード

functions.phpのどこでもいいので、以下のコードを追記してください。

/*---------------------------------------------
authorリダイレクト
---------------------------------------------*/
function author_query_redirect() {
  if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING']) || preg_match('#/author/.+#', $_SERVER['REQUEST_URI'])) {
    wp_redirect(home_url());
    exit;
  }
}
add_filter('init', 'author_query_redirect');

これでホームにリダイレクトされます。

別のページであれば

home_url('★パスを入力★')

この★のところにリダイレクトさせたいパスを入力してください。

ちなみに、ユーザーページを表示させたいけどログインユーザー名は知られたくないという場合はEdit Author Slugというプラグインを使ってみてください。

これはログインユーザー名の代わりに指定した文字列を表示させることができるプラグインです。

使い方はこちらの記事を参考にしてください!
Edit Author SlugでURLに表示されるログインユーザー名を指定した文字列に変えよう