WordPressでauthor(投稿者名)を非表示にする

2023年6月5日

wordpressで投稿者名がログインIDとして表示されていた。wordpressで記事を散々書いておいて、そんなことも知らなかったのかよ。と罵られそうですが、ログインIDが表示されたままだと危険なので、非表示にする方法を説明・解説していきたいと思います。

投稿者アーカイブページが表示されるか確認する

自分のサイトで投稿者アーカイブページが表示されるか確認してみます。

自サイトの末に/?author=1 を打ち込んでみてください。

https://〇〇.com/?author=1

四角の部分にログインIDが表示されているようなら、外部からもログインIDが表示されていることになります。

投稿者アーカイブページを無効にする

投稿者アーカイブページを無効にするにはfunction.phpを編集します。

私の場合、Luxeritasを使用しているので「Luxeritas」→「子テーマの編集」→「function.php」の順にクリックします。

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

保存後に再度開いて、確認します。

404のページが表示されていれば、成功です。

記事に表示されている投稿者名を非表示にする

投稿者アーカイブページを無効にしたので、次は記事内に記載されている投稿者名を非表示にしたいと思います。投稿者アーカイブを非表示にしても、記事内に投稿者名が表示されていては意味がないので、こちらも非表示にしていきたいと思います。

以下のようにデフォルトではPosted by ログインユーザー となっていると思います。

「Luxeritas」→「カスタマイズ(外観)」→「投稿者名の表示」の順にクリックします。

author(記事投稿者)を表示のチェックを外し、公開をクリックします。

再度確認すると、投稿者名が非表示になっているかと思います。

これでauthor(投稿者名)が非表示になったかと思います。今更になってしまいましたが、wordpressを構築した際にやるべきセキュリティ対策だと思います。