WordPress カスタムフィールドが空だった場合の分岐や複数あった場合の出力、分岐方法

この記事は4年前に書かれました。不適当な記述を含む場合がありますので、参考程度に留めてください。

どうもこんばんは。Toshikuraです。この時期は忙しく久々の更新になってしまいました。今回のTipsは【Wordpress カスタムフィールドが空だった場合の分岐や複数あった場合の出力や分岐方法】です。あまり使う事もないTipsですが…一応備忘録の為に書いておきます。

カスタムフィールドが空だった場合の表示

この記述ではカスタムフィールドが空だった場合に表示されます。


<?php $ctm = get_post_meta($post->ID, ‘カスタムフィールド名’, true);?>
<?php if(empty($ctm)):?>
空欄だった場合に表示されます。
<?php endif;?>

また以下の記述ではカスタムフィールドが空欄だった場合と記述がある場合での表示切替を行います。

<?php $ctm = get_post_meta($post->ID, ‘カスタムフィールド名’, true);?>
<?php if(empty($ctm)):?>
空欄だった場合に表示されます。
<?php else:?>
記述が有る場合に表示されます。
<?php echo post_custom(‘カスタムフィールド名’);?>
<?php endif;?>

ひとつのカスタムフィールドに複数の記述がある場合


 
以下の記述はカスタムフィールドテンプレートの項目追加を利用した場合に活躍します。例では「画像」というカスタムフィールドに複数の記述がされている場合での表示切替を行っております。
 


<?php $ctm = get_post_meta($post->ID, ‘画像’, true);?>
<?php if(empty($ctm)):?>
空欄だった場合に表示されます。
<?php else:?>
<?php $thumbs = post_custom(‘画像’); ?>
<?php if(count($thumbs) == 1 ):?>
ひとつ記述が有る場合に表示されます。
<?php echo post_custom(‘画像’);?>
<?php elseif(count($thumbs) >= 2 ):?>
複数の記述が有る場合に表示されます。
<?php foreach ($thumbs as $key => $value) { echo $value; } ?>
<?php endif;?>
<?php endif;?>

以上です。