wordpressのカスタムフィールドに値がある場合のみ表示、値がない場合は違うものを表示する方法メモ
<?php if ( post_custom('フィールド名') ) : ?> <?php echo post_custom('フィールド名'); ?> <?php else : ?> 値がない場合に表示する内容 <?php endif; ?>
今回はTOPページの新着情報5件表示の一覧より、カスタムフィールドの「URL」に値が入っている場合はそのURLへのリンクに、入っていない場合は記事の普通のリンクを設置。
<ul> <?php global $post; $lastposts = get_posts('numberposts=5&cat=8'); foreach($lastposts as $post) : setup_postdata($post); $post_title = $post->post_title; if(mb_strlen($post_title)>30) { $post_title = mb_substr($post_title,0,30).'...'; } ?> <li> <span class="date"><?php echo date("Y.m.d ", strtotime($post->post_date)); ?></span><a href="<?php if ( post_custom('URL') ) : ?> <?php echo post_custom('URL'); ?> <?php else : ?> <?php echo get_permalink( get_the_ID() ); ?> <?php endif; ?>" id="post-<?php the_ID(); ?>"> <?php echo $post_title; ?></a></li> <?php endforeach; ?> </ul>