概要
has_post_thumbnail
関数は、特定の投稿記事にアイキャッチ画像が指定されているかどうかを調べるために使用されます。この関数は、投稿の表示やレイアウトを管理する際によく使われ、特に以下のような機能の実装に役立ちます:
- アイキャッチ画像の有無による異なるテンプレートの選択
- 投稿リストやアーカイブページのアイキャッチ表示
- 投稿詳細ページでの画像の有無表示
- 投稿画像がない場合の代替テキストの表示
- 特定のカスタム投稿タイプにおけるアイキャッチ画像の判定
- ギャラリーページでのサムネイルの表示
- カスタムページやウィジェットにおける画像出力
- モバイル表示でのレイアウト調整
構文
has_post_thumbnail( $post_id );
パラメータ
$post_id
(オプション): 投稿のID。指定がない場合は、現在の投稿が対象となる。
戻り値
- ブール値: アイキャッチ画像が設定されている場合は
true
、そうでない場合はfalse
を返します。
関連する関数
使用可能なワードプレスバージョン
- この関数は、WordPress 2.9.0 以降で利用可能です。
コアファイルのパス
wp-includes/post-thumbnail-template.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | 〇 |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | |
template_redirect | 〇 |
get_header | |
wp_head | 〇 |
サンプルコード
サンプルコード1: 投稿にアイキャッチ画像があるか確認する
if ( has_post_thumbnail() ) {
echo 'この投稿にはアイキャッチ画像があります。';
} else {
echo 'この投稿にはアイキャッチ画像がありません。';
}
- 投稿にアイキャッチ画像があるかどうかを確認し、メッセージを表示します。
サンプルコード2: アイキャッチ画像を表示する
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
- アイキャッチ画像が設定されている場合、画像を表示します。
サンプルコード3: 投稿リストでアイキャッチ画像を表示
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
if ( has_post_thumbnail() ) {
the_post_thumbnail('thumbnail');
}
}
}
- 投稿リストの各投稿でアイキャッチ画像をサムネイルサイズで表示します。
サンプルコード4: アイキャッチ画像なしの投稿に代替テキストを表示
if ( has_post_thumbnail() ) {
the_post_thumbnail();
} else {
echo '<img src="default-image.jpg" alt="デフォルト画像">';
}
- アイキャッチ画像がない場合にデフォルトの画像を表示します。
サンプルコード5: 特定の投稿IDのアイキャッチ画像の有無を確認
$post_id = 42; // 調べたい投稿のID
if ( has_post_thumbnail( $post_id ) ) {
echo 'この投稿にはアイキャッチ画像があります。';
} else {
echo 'この投稿にはアイキャッチ画像がありません。';
}
- 指定した投稿IDにアイキャッチ画像が設定されているかどうかを確認し、メッセージを表示します。