Alexx The Rocks

雑記。

【WordPress】カスタムフィールドの値の有無で分岐させたい時

2021年9月22日 更新
Categoryweb制作
tag

WordPressでカスタムフィールドを設定した上で、カスタムフィールドの項目に文字列が入力されている時と入力されていない時とで分岐させたかった。よく忘れがちなので備忘録としてメモしますね。

自分は投稿するアイテムによって、リンクURLを入力したりしなかったりする時に分岐させたかったので下記のようになった。

<?php if(get_post_meta( $post->ID, 'カスタムフィールドの値', true )): ?>
<div>
    <p><a href="<?php the_field('カスタムフィールドの値'); ?>"><?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?></a></p>
    <h3><a href="<?php the_field('カスタムフィールドの値'); ?>"><?php the_title(); ?></a></h3>
    <dl>
        <?php if(get_post_meta( $post->ID, '販売元のカスタムフィールドの値', true )): ?>
        <dt>販売元:</dt>
        <dd><?php the_field('販売元のカスタムフィールドの値'); ?></dd>
        <?php endif; ?>
        <?php if(get_post_meta( $post->ID, 'link', true )): ?>
        <p class="detailLink"><a href="<?php the_field('link'); ?>">詳細はこちら</a></p>
        <?php endif; ?>
    </dl>
</div>
<?php else : ?>
<div>
    <p><?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?></p>
    <h3><?php the_title(); ?></h3>
    <dl>
        <?php if(get_post_meta( $post->ID, '販売元のカスタムフィールドの値', true )): ?>
        <dt>販売元:</dt>
        <dd><?php the_field('販売元のカスタムフィールドの値'); ?></dd>
        <?php endif; ?>
    </dl>
</div>
<?php endif; ?>

これでカスタムフィールドの有無で分岐が可能になる。