長いことWordpressでブログを書いていたのに、すっかり放置していました。Author情報(投稿者情報)。
「この記事を書いた人」で表示される部分で、ここに表示される画像はクリックできるようになっています。
クリックすると投稿者が作成した記事一覧のアーカイブページに飛ぶのですが、こちらを非表示にしたいなと思いました。理由は後述します。
というわけで、「この記事を書いた人」の表示を残したままワードプレスのAuthor情報(投稿者情報)の記事一覧アーカイブページを非表示にする方法について。
「この記事を書いた人」自体を非表示にしたい場合、AFFINGERやBloomであればテーマの管理画面で設定可能です。
AFFINGER
Wordpress管理画面>AFFINGER管理>投稿・固定>この記事を書いた人
Bloom(TCDテーマ)
Wordpress管理画面右上のプロフィール情報>一番下の「投稿者プロフィールを表示する」のチェックを外す
この記事を書いた人の一覧アーカイブページを非表示
先に投稿者情報(Author情報)の記事一覧アーカイブページを非表示にして、ホームのページにリダイレクトする方法、またはプロフィールページにリダイレクトする方法です。
function.phpにコードを入力する必要があります。
function.phpは重要なファイルなので、直接ではなくてfunction.phpファイルを一度ダウンロードしてコードを追記し、ファイルサーバーへアップロードするやり方を推奨します。
function.phpの記述を間違えるとブログの表示が変になる、最悪の場合は表示されなくなるのでご注意ください!必ずバックアップを取ってから。
ホームページにリダイレクトする場合は「<?php」より以下にコードを記述します。
function author_archive_redirect() {
if( is_author() ) {
wp_redirect( home_url());
exit;
}
}
add_action( 'template_redirect', 'author_archive_redirect' );
プロフィールページにリダイレクトする場合は、「home_url()」の関数部分にURLを入れます。例えばaaa.comの場合、以下のようになります。
function author_archive_redirect() {
if( is_author() ) {
wp_redirect( 'https://aaa.com', 301 );
exit;
}
}
add_action( 'template_redirect', 'author_archive_redirect' );
コピペして貼り付けてもクオテーションマークが大文字になってしまうことがあるので、必ずコード編集ソフトなどで確認しながら作業してください。クオテーションが大文字だとエラーが出たり、表示崩れが起きたりします。
ファイルサーバーから追記したfunction.phpをアップロードした後、「この記事を書いた人」の画像をクリックしてみてください。ホームのページにリダイレクトされるはずです。
投稿者情報のアーカイブページを非表示にする理由
そもそもブログで記事を書いている人が私だけなので、投稿者ごとの記事一覧を表示させる必要がないことが理由の1つ目。
2つ目が重要です。
「この記事を書いた人」の画像をクリックして、記事一覧のアーカイブページに飛んだ先のURLを見ると
になっていることに気づくと思います。
ユーザー名=ログインID
投稿者ごとの記事一覧アーカイブのページを見れば、ログインIDがバレてしまうということ。
オーマイガー。
「この記事を書いた人」の投稿者情報(Author情報)から遷移した記事一覧アーカイブページをいますぐ非表示にしなければと思いました。これが理由の2つ目です。
投稿者情報のアーカイブページを非表示にしてセキュリティ対策
投稿者情報の記事一覧アーカイブページを残しておくと、URLをみた時にユーザー名=ログインIDがバレてしまいます。
セキュリティ上どうなのと思うので、気になる人は投稿者情報の記事一覧アーカイブページが見えないようにすることをおすすめします。
私が使っているWordPressテーマ「Bloom」は、テーマの管理画面で「この記事を書いた人」自体を非表示にする設定ができます。
記事下に「この記事を書いた人」の表示がいらない場合は、こちらの表示自体をなくしてしまえば良いでしょう。
「この記事を書いた人」を残したまま、投稿者情報の記事一覧アーカイブページを非表示にしたい場合は、上記のようにホームのページにリダイレクトさせるなどしてセキュリティ対策しておきましょ。