稼働中

第22回 初心者がワードプレスの独学を始める。 投稿者情報を非表示にする 

/?author=1 投稿者を非表示にする

「サイトのURL/?author=1」と入力するとユーザー名が分る場合があるそうです。ホームページで試しに入力して見ます。

投稿者ID

びっくりしました。投稿ページに変わり、ユーザー名が表示されています。素人目にもセキュリティ上、怪しいのが分かります。

ID名が表示される

「author.php」を作成する

「author.php」を作成して非表示にする方法を探しました。素人なので試して良ければ使う感じです。子テーマのフォルダ内に新規に「author.php」ファイルを作成します。テキストエディタ「medit」に下記コードをコピペしてファイル名「author.php」で保存します。※「mediet」の使い方は「フリーソフト(1)」の記事に記載しています。よろしければ参照ください。

author.php
<?php
/*  /?author=1 入力時にReject */
wp_redirect(home_url());
exit();
?>

medit コード

「URL/?author=1」を入力して開いて見ました。投稿者名が非表示になりました。
非表示になった

しかし、この投稿を書いた後に確認のため調べ直しました。すると、この方法では現画面では表示されていないがネット上にはユーザー名は流れるそうです。これで大丈夫だと勘違いをしないために記載しました。そのため下記に記載した別の方法を採用しました。「author.php」不要になったので削除をしました。

「functions.php」に追記する

先の「author.php」の方法ではあまり意味が無さそうです。
他に調べると「functions.php」を利用する方法がいろいろありました。今回は以下のコードを記入することにしました。素人なので詳しくは分かりません。雰囲気的に’author’の文字を見つけたら「404ページ」に飛ばされるようです。

functions.php
// 投稿者の非表示リダイレクト
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’);

投稿者を非表示にするコード例

早速試してみました。「URL/?author=1」を入力して開いて見ました。「ページが見つかりません」404ページが表示されました。「URL/?author=2」「URL/?author=20」でも大丈夫でした。やや安心です。

404ページが表示される

まとめ

投稿者情報を非表示にしました。できました。