カスタムフィールドの入力の有無を判定して表示・非表示

自分用メモとして、軽い記事ですがエントリーしておきます。

カスタムフィールドの入力の有無を判定して、入力がなければ項目ごと非表示にする書き方です。
頻繁に使う条件分岐です。
何も入力されていないのに、項目だけ表示されて、ムダなスペースができてしまった…といった状態を防げます。

カスタムフィールド名を「tel」とします。

※「Toolset Types」利用時に get_post_metapost_customを使用する場合は、頭に「wpcf-」を付け、カスタムフィールド名を 'wpcf-tel' と書かないと表示しません。

カスタムフィールドに入力があれば表示、入力がなければ項目ごと非表示にする

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; ?>

1 Comment

  1. […] 参考カスタムフィールドの入力の有無を判定して表示・非表示 […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

keyboard_control_keyTOP