<?php if (!post_password_required()): ?>
<?php the_field('紹介文'); ?>
<?php endif; ?>
WordPressには「パスワード保護」という機能があり、パスワードを知っている人以外から記事の内容を隠すことができます。
しかし、この時隠すことができるのは本文だけでカスタムフィールドに入力した内容はそのまま表示されてしまいます。
そこで、カスタムフィールドの内容も隠したいときに使われるのが、条件分岐タグの「post_password_required()」です。
パスワード入力が必要かを判断
「post_password_required()」は、そのページがパスワード保護を必要としているかを判断します。そのため、これを使ってカスタムフィールドの表示する箇所を囲みます。ただし、この条件分岐タグは「パスワード保護されている状態」の場合に「true」になるため、これが「false(=パスワードが必要ない、またはパスワードを入力した後)」の場合に表示するため、次のような条件になります。
<?php if (post_password_required() === false): ?>
<?php the_field('紹介文'); ?>
<?php endif; ?>
「the_field」はAdvanced Custom Fieldsを利用した場合のテンプレートタグです。通常は、「the_post_custom」などを使いましょう。
「=== false」という比較演算子は、論理演算子の否定(!)を使って次のように書き換えることができます。
<?php if (!post_password_required()): ?>
<?php the_field('紹介文'); ?>
<?php endif; ?>