[WordPress]投稿のアイキャッチ画像を取得




WordPressの投稿ページ、または投稿のループ内、ループ外でのアイキャッチ画像取得方法をまとめます。

投稿ページ内でアイキャッチ画像を取得

投稿ページ内の場合、has_post_thumbnail()関数、the_post_thumbnail()関数、get*the_post_thumbnail()関数を利用して取得することができます。
まずhas_post_thumbnail()関数で投稿にアイキャッチ画像が登録されているかを確認できます。
trueが返ってきたら登録されているのでthe_post_thumbnail()関数、またはget_the_post_thumbnail()関数でサムネイル情報を表示、または取得することができます。

if (has_post_thumbnail()) {
    // サムネイルあり
    the_post_thumbnail();// サムネイルタグを出力
    $thumbnail = get_the_post_thumbnail();// サムネイル画像情報を変数に格納
} else {
    // サムネイルなし
}

投稿のループ内でアイキャッチ画像を取得

投稿のループ内であれば投稿ページと同じ処理となるので省略します。

投稿のループ外でアイキャッチ画像を取得

投稿のループ外の場合、投稿IDがわかれば投稿ページの処理で各関数に投稿IDを指定すればアイキャッチ画像を取得することができます。

// $post_idに投稿IDが格納されている前提
if (has_post_thumbnail($post_id)) {
    // サムネイルあり
    the_post_thumbnail($post_id);// サムネイルタグを出力
    $thumbnail = get_the_post_thumbnail($post_id);// サムネイル画像情報を変数に格納
} else {
    // サムネイルなし
}