【ワードプレス】閲覧制限をかける3つの戦法

ワードプレス全体にパスワードをかける方法

どのページを開こうとしても『あなたが設定したパスワード』を入力しない限り、ページを閲覧する事ができなくなります。

この方法はプラグインを使用しますので、下リンクを参照してください。

 

ログインしてないと強制的にログインページに飛ばす方法

どのページを開こうとしても『ログインIDとパスワード』を入力しない限り、ページを閲覧する事ができなくなります。

この方法もプラグインを使用しますが、ワードプレス非公認のプラグインの為、検索をかけても出てきません。しかも、製作者がプラグインの公開を終了させている為、ネット上で手に入れようとしても不可能です。

僕はそのプラグインを保存しており、この記事の中でダウンロードできるようにすることも可能なのですが、さすがにそれは製作者に申し訳ないのでやりません。もし本気で欲しい方は個人的にプラグインデータを送るので連絡ください。

 

ログインしていないとアクセスできないページを作る方法

上記の方法2つと違う点は『サイトにはアクセスできるし、ページも閲覧できるけど、ある特定のページだけは閲覧することができない』っていう、少し複雑な閲覧制限方法です。

この方法はプラグインではなく、自分で設定する必要があります。やり方は下に記述しておりますが、僕も昔1度だけしかやった事ないので、ほぼ覚えておりません。自己責任でよろしくおねがいします。

 

PHPの編集

親テーマのpage.phpをパソコンにダウンロード

名前を『page-login-only.php』に変更する(別に何でもオッケー)

子テーマにアップロード

【テーマの編集】から『page-test.php』を開く

一番上に下のPHPコードを貼る

<?php /** Template Name: page-login-only.php */
if (!is_user_logged_in()){
header(‘Location: https://○○○/’);
exit();
}?>

 

PHPの解説

【 /** Template Name: page-login-only.php */】

テンプレートの名前を指定します。固定ページの【固定ページ属性】【テンプレート】の欄にこの名前が表示される事になります。自分の分かりやすい名前をどうぞ。

 

【if (!is_user_logged_in()){】

このコードでログインしているかどうかを判断し、直後の命令が分岐します。もしログインしていなければ直後{ }内の命令へ。ログインしていれば{ }内の命令を飛ばして次の命令へ。

 

【header(‘Location: https://○○○/’);】

このコードは任意のリンク先へリダイレクトさせる命令です。○○○にはリダイレクト先(飛ばす先のURL)を入力してください。ログインしていなければここで指定したリンク先へ無条件に飛ばされます。

 

【exit();】

以後の処理を行わない命令です。とりあえずこれを付けておいた方が良さそうな雰囲気なので付けてます。理由は知りません。

 

以下【<?php get_header(); ?>】と続いていくと思います。ちなみにこれはヘッダーを取得する命令だと勝手に思ってます。とりあえずリンク先には飛びますが、この記述がないと何か変な感じで表示されます。

 

PHPの記述は以上。

 

ページを作成する

新規固定ページを作成し【固定ページの属性】【テンプレート】のボックスから『page-login-only.php』を選択してください。

これだけで終了です。このテンプレートが先ほど編集したPHPです。この固定ページはこのテンプレートの命令に従って動きます。

『このページにアクセスが行われた時、ワードプレスにログインしていればページを開き、ログインしていなければ強制的に【https://○○○/】へ飛ばす』

・・・という命令が実行されます。

これで『あなたのワードプレスにログインしている人しか開けないページ』が完成します。

 

僕が即死しかけた瞬間・ベスト3