条件分岐を使って項目自体を非表示にする
カスタムフィールドでコンテンツを構成している場合、カスタムフィールドに項目が入力されていない場合でも、その項目自体はサイト上に表示されてしまいます。
<div id="test">
<h2>項目A</h2>
<?php echo post_custom('sample'); ?>
</div>
この場合ですと、カスタムフィールドに値が入力されていないときでも、以下の部分がそのままサイト上に表示されてしまいます。
<div id="test">
<h2>項目A</h2>
</div>
今回は、カスタムフィールドの値が空だった場合、上記の部分も非表示するカスタマイズ方法をご紹介します。
カスタムフィールドの値が空なら非表示、値があれば表示と条件分岐してやれば良いのです。
以下のコードで条件分岐できます。
<?php $value = get_post_meta($post->ID, 'sample', true);?>
<?php if(empty($value)):?>
カスタムフィールド【sample】の値が空の時、ここに記載した内容が表示されます。
<?php else:?>
カスタムフィールド【sample】に値が入っている時、ここに記載した内容が表示されます。
<?php endif;?>
先ほどの例ですと、以下のように記述してやればOkです。
<?php $value = get_post_meta($post->ID, 'sample', true);?>
<?php if(empty($value)):?>
<?php else:?>
<div id="test">
<h2>項目A</h2>
</div>
<?php endif;?>
この様に記述すると【sample】の値が取得できない場合、項目自体を非表示にできます。
【sample】の部分には、カスタムフィールド名を記入してください。
まとめ
カスタムフィールドの値が入力されていない項目を非表示にする方法をご紹介しました。
とある案件で必要になったので調べたものをまとめてみました。
今回のコードの様に単純に使えるケースは少ないかと思います。
機会があれば、参考にしてください。
よく使う条件分岐を42種類を以下の記事にまとめてみたのでご確認ください。
⇒ 【保存版】WordPressの条件分岐を42個まとめてみました!
コメントを残す