カスタムフィールドの入力の有無を判定して表示・非表示
自分用メモとして、軽い記事ですがエントリーしておきます。
カスタムフィールドの入力の有無を判定して、入力がなければ項目ごと非表示にする書き方です。
頻繁に使う条件分岐です。
何も入力されていないのに、項目だけ表示されて、ムダなスペースができてしまった…といった状態を防げます。
カスタムフィールド名を「tel」とします。
※「Toolset Types」利用時に get_post_meta
や post_custom
を使用する場合は、頭に「wpcf-」を付け、カスタムフィールド名を 'wpcf-tel'
と書かないと表示しません。
Contents
カスタムフィールドに入力があれば表示、入力がなければ項目ごと非表示にする
get_post_meta()版
<?php if(get_post_meta($post->ID, 'tel', true)): // 入力がある場合 ?>
電話番号:<?php echo get_post_meta($post->ID, 'tel', true); ?>
<?php endif; ?>
post_custom()版
<?php if(post_custom('tel')): // 入力がある場合 ?>
電話番号:<?php echo post_custom('tel'); ?>
<?php endif; ?>
Types Fields API版
「Toolset Types」利用時はAPIを使って、以下のようにも書けます。
<?php if(types_render_field('tel')): // 入力がある場合 ?>
電話番号:<?php echo(types_render_field('tel', [])); ?>
<?php endif; ?>
カスタムフィールドに入力があれば表示、入力がなければ「−」と表示する
get_post_meta()版
<?php if(get_post_meta($post->ID, 'tel', true)): // 入力がある場合 ?>
電話番号:<?php echo get_post_meta($post->ID, 'tel', true); ?>
<?php else: // 入力がない場合 ?>
電話番号:-
<?php endif; ?>
post_custom()版
<?php if(post_custom('tel')): // 入力がある場合 ?>
電話番号:<?php echo post_custom('tel'); ?>
<?php else: // 入力がない場合 ?>
電話番号:-
<?php endif; ?>
Types Fields API版
「Toolset Types」利用時はAPIを使って、以下のようにも書けます。
<?php if(types_render_field('tel')): // 入力がある場合 ?>
電話番号:<?php echo(types_render_field('tel', [])); ?>
<?php else: // 入力がない場合 ?>
電話番号:-
<?php endif; ?>
[…] 参考カスタムフィールドの入力の有無を判定して表示・非表示 […]