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

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

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

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

※「Toolset Types」利用時に get_post_metapost_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; ?>

コメントを残す

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