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