WordPressのパスワード保護投稿で隠れるのはthe_content()だけ
作成日:
2019年9月6日
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()で囲ってやる必要があるようです。
WordPressでパスワード保護している投稿ページの本文以外も非表示にする方法
http://motoyamayuki.com/blog/category/wordpress/
テンプレートタグ/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を楽しんでいます。
コメントをどうぞ