読者です 読者をやめる 読者になる 読者になる

ショウジンブログ

Learn as if you will live forever, Live as if you will die tomorrow.

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

WordPress条件分岐
Sponsored Links

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(); ?>