ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

アイキャッチがあるかないかを判別する@WordPress

f:id:showjinx:20160715111323j:plain

WordPressアイキャッチ画像を使う場合、アイキャッチ画像が存在(投稿に登録されているか)するか否かを判別する条件文の例です。

the_post_thumbnail() 関数を使います。

アイキャッチ画像がない場合には代替画像を指定して出力するようになっています。

<?php if(has_post_thumbnail()) : /* アイキャッチがあるかないかの条件分岐 */ ?>
    <?php the_post_thumbnail(); ?>
<?php else : ?>
    <img src="<?php echo get_template_directory_uri(); ?>/img/none_eyecatch.png" alt="">
<?php endif; ?>

ループで使うので、ループ内に記述するにはこんなふうに。(この例では get_posts() を使ってます)

<?php
    $args = array(
        'post_type' => array('post'), /* デフォルトの投稿を対象としている */
        'paged' => $paged,
        'posts_per_page' => 5, /* 取得記事件数 */
    );
?>
<?php $my_posts = get_posts( $args ); ?>
<?php if ( $my_posts ) : foreach ( $my_posts as $post ) : setup_postdata( $post ); ?>
    <?php if(has_post_thumbnail()) : /* アイキャッチがあるかないかの条件分岐 */ ?>
        <?php the_post_thumbnail(); ?>
    <?php else : ?>
        <img src="<?php echo get_template_directory_uri(); ?>/img/none_eyecatch.png" alt="">
    <?php endif; ?>
<?php endforeach; ?>
<?php else : /* 投稿がないとき */ ?>
    <p>情報はありません。</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>