has_post_thumbnail()


WordPressのhas_post_thumbnail()関数は、投稿またはページにアイキャッチ画像が設定されているかどうかを確認するために使用されます。

構文

has_post_thumbnail( int|WP_Post $post = null );
  • $post(int|WP_Post) — 投稿IDまたは投稿オブジェクト。デフォルトは現在の投稿。

例1: アイキャッチ画像が設定されているか確認

現在の投稿にアイキャッチ画像が設定されているかどうかを確認します。

<?php if ( has_post_thumbnail() ) { echo 'アイキャッチ画像が設定されています。'; } else { echo 'アイキャッチ画像が設定されていません。'; } ?>

例2: 特定の投稿にアイキャッチ画像が設定されているか確認

指定した投稿IDの投稿にアイキャッチ画像が設定されているかどうかを確認します。

<?php if ( has_post_thumbnail( get_the_ID() ) ) { echo 'アイキャッチ画像が設定されています。'; } else { echo 'アイキャッチ画像が設定されていません。'; } ?>

例3: アイキャッチ画像が設定されている場合に画像を表示

現在の投稿にアイキャッチ画像が設定されている場合、その画像を表示します。

<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>

例4: 特定のサイズでアイキャッチ画像を表示

現在の投稿にアイキャッチ画像が設定されている場合、指定したサイズで画像を表示します。

<?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'medium' ); } ?>

例5: カスタム投稿タイプでアイキャッチ画像を確認

カスタム投稿タイプの投稿にアイキャッチ画像が設定されているかどうかを確認します。

<?php $args = array( 'post_type' => 'custom_post_type', 'posts_per_page' => 1 ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); if ( has_post_thumbnail() ) { the_post_thumbnail(); } } } wp_reset_postdata(); ?>

例6: ループ内でアイキャッチ画像を確認

ループ内で各投稿にアイキャッチ画像が設定されているかどうかを確認し、設定されている場合は画像を表示します。

<?php if ( have_posts() ) { while ( have_posts() ) { the_post(); if ( has_post_thumbnail() ) { the_post_thumbnail(); } } } ?>

注意点

  • アイキャッチ画像が設定されていない場合、has_post_thumbnail()falseを返します。
  • 投稿オブジェクトを指定しない場合、現在の投稿が対象となります。

関連機能: