速報

Maru-Janで全会員185万人超の認証情報が流出 再開後もパスワード変更を

CATEGORY

【WordPress】投稿のパスワード保護を有効にする

※本ページのリンクにはプロモーションが含まれています。

【WordPress】投稿のパスワード保護を有効にする

目次

本記事では、WordPressで投稿のパスワード保護を有効にする方法をご紹介しています。テーマ開発者やカスタマイズをしている方に向けた内容になっています。

WordPressで投稿のパスワードが有効にならない……どうすればいいの?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

パスワード保護に使用する関数

投稿や固定ページのパスワード保護には下記の関数を使用します。

  • post_password_required()
  • get_the_password_form()

それぞれ下記の処理を行います。

post_password_required()

投稿にパスワードが必要がどうかを判定する関数です。引数には投稿オブジェクトまたは投稿IDを指定します。返り値は真偽値(true|false)です。パスワード入力が不要であればfalseを、それ以外の場合はtrueを返します。

post password required()

get_the_password_form()

投稿に必要なパスワードを入力するフォームを取得します。パスワードを入力するフィールドと送信ボタンが表示されます。デザイン等はCSSで変更することができます。

get_the_password_form()

上記の関数を使用してパスワード保護を有効にすることができます。

パスワード保護を有効にする

では実際にパスワード保護を有効にします。

前項でご紹介したように投稿のパスワード保護を有効にするには、2つの関数をテンプレートファイル(single.phpやpage.php)に追加する必要があります。

全体を記載すると長くなってしまうため割愛しますが、コンテンツ部分にフォーカスすると下記のようになります。

<?php if(!post_password_required($post->ID)): ?>

    <!-- パスワード認証後に表示するコンテンツ -->
    <p>パスワード認証済みです。</p>
  
<?php else: ?>
<?php echo get_the_password_form(); ?>
<?php endif; ?>

上記を追加した状態で固定ページや投稿で、ステータスと公開状態→公開→パスワード保護で任意のパスワードを指定すると、投稿を開いた際にパスワードの入力が促されます。認証に成功すると条件分岐内のコンテンツ、上記例では「パスワード済みです。」が表示されます。

ここまでの内容でパスワード保護を有効にすることができます。

スポンサーリンク

最後に

私が勤めているWeb制作会社では、既存のテーマを流用したサイト制作というのはほとんどなくて、基本的にクライアントの要望に合わせたオリジナルテーマを一から作成しています。そのため毎回必要最低限の機能だけを実装する結果となり、要件にない機能は実装しません。もちろんパスワード保護は最低限必要な機能に含まれるためテストの段階で確認して、実装されていなければ追加します。ただ何度かパスワード保護の実装を忘れた経験があるので、今後忘れないようにしよう!という決意代わりの投稿でした。

以上、WordPressで投稿のパスワード保護を有効にする方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

認証

アクセスしてきた相手が本人であることを確かめる仕組み。パスワードや生体情報、電子証明書などを使う。

詳しく見る