WordPressのパスワード保護投稿で隠れるのはthe_content()だけ

作成日:

WordPressのパスワード保護投稿の機能をよくよく確認してみたら、これはget_the_content()の処理中にパスワード保護設定されていたら、パスワード入力のフォームを表示させる、という場合分けがされているだけのようです。

get_the_content() | Function | WordPress Developer Resources https://developer.wordpress.org/reference/functions/get_the_content/

Retrieve the post content.

つまり、single.phpやcontent.phpに本文(データベースフィールドpost_content)と別にカスタムフィールドの出力設定を記述している場合、これらはパスワード保護されずにそのまま表示されてしまうことになります。

それを防ぐためには、post_password_required()で囲ってやる必要があるようです。

テンプレートタグ/post password required - WordPress Codex 日本語版 https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/post_password_required

だったら面倒なので、bodyタグ以下全体をパスワード保護して、例えばパスワードの取得方法の説明文や案内を記述してあげた方が良いのでは無いかなと思います。

そもそも個別投稿のパスワード保護ってどんなときに使うのかな。

物草 灸太郎

WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。

コメントをどうぞ

  • メールアドレスが公開されることはありません。
  • コメント欄にURLは入力できません。
  • このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。