この記事は投稿日から、2年以上経過しています。

カスタムフィールドの値の有無で表示を切り替える方法

カスタムフィールドの値があるときに表示させるコード、そしてカスタムフィールドの値が空の時に表示させるコード、それらを振り分けて出力します。

たとえば画像を表示させるため、カスタムフィールドに画像URLを入力する必要のある、こういったコードがあったとして…

<div class=“img-wrap”>
    <img src="カスタムフィールドの値">
</div>

画像URLがない場合(空欄の場合)、この様な意味のないコードが残ってしまいます。

<div class=“img-wrap”>
    <img src="">
</div>

それを避けるため、以下のようにします。

<?php $value = get_post_meta($post->ID, 'カスタムフィールド名', true);?>
<?php if(empty($value)):?>
    <!--★ここは空欄だった場合に表示されます(空でOK)。-->
<?php else:?>
    <!--●値が有る場合に表示されます。-->
    <div class=“img-wrap”>
        <img src="<?php echo post_custom('カスタムフィールド名');?>">
    </div>
<?php endif;?>

$value の値が空の場合(emptyの場合) 、★部分を返します。
それ以外(値が空じゃない場合)は、●部分を返します。

適宜、条件分岐を変えてみたりして利用して下さい。

コメントを残す

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