WordPressで特定のページのみにパスワードを設定する方法
この記事はWordPressで任意のページにパスワードを設定して表示を制限する方法を4種類紹介しています。
ページ編集でロックする
投稿ページや固定ページの場合は画像のように公開する項目からパスワードを設定できます。
最も簡単な方法ですが、デメリットもあります。
ページエディタで入力した内容しか制限できない事です。
// 投稿内容を表示
<?php the_content(); ?>
自作テンプレートで作成した場合は、上記の関数でエディタ内容を表示させますが、この関数の中身しか制限できないのです。
つまり、自ら投稿ページや固定ページのファイルをカスタムで編集している場合は、制限できない事です。
サーバーでアクセス制限する
エックスサーバーですが
アクセス制限でパスワードをかけることが出来ますが、これでは特定のページにかけることは出来ません。ウェブサイト全体にかけることは出来ます。
プラグインでロックする
Password Protected
このプラグインで設定できますが、無料ではサイト全体にしかロックできません。
特定のページに関しては有料になります。
プログラムコードでロックする
下記のコードをフロントエンドで設定する
<?php
/*
Template Name: 自作テンプレート
*/
get_header();
// パスワードを設定
$correct_password = 'your_password';
// ユーザーが送信したパスワードを取得
$user_password = isset($_POST['password']) ? $_POST['password'] : '';
if ($user_password === $correct_password) {
// パスワードが正しい場合、ページを表示
} else {
// パスワードが間違っている場合、パスワード入力フォームを表示
?>
<form action="" method="post">
<label for="password">パスワードを入力してください:</label>
<input type="password" id="password" name="password">
<input type="submit" value="送信">
</form>
<?php
}
しかし、このコードは非常に簡素なコーディングになるので、機密性の高いページには不適切です。
以上で4種類の方法を紹介しましたが、どれも簡単な方法ですので、自身の方法に適した制限を見つけましょう!