WordPressのアイキャッチ画像URL、幅、高さを取得する

カスタム

WordPressの記事にはそれぞれ一つずつアイキャッチ画像を設定することができます。
サムネイルとして使われる事が多いアイキャッチ画像の<img>タグを含まないURLのみ、または幅や高さを取得する方法を紹介します。

アイキャッチの存在有無のチェックはこちら。
>> 記事のアイキャッチ画像が存在するか確認する

アイキャッチのURLのみ取得したい場合はこちら。
>> WordPressのアイキャッチ画像のURLだけを取得したい!

記事の持つアイキャッチ画像の詳細情報を取得

アイキャッチの詳細情報は wp_get_attachment_image_src() で取得できます。
第一引数で記事の持つアイキャッチIDを渡し、指定があれば第二にサイズを渡します。

wp_get_attachment_image_src($id, $size, $icon) $id (初期値: なし) アイキャッチID
$size (初期値: thumbnail) 取得したいアイキャッチの画像サイズ(thumbnail, medium, large, full もしくは array(32,32) のような幅と高さの配列)
$icon (初期値: false) メディアアイコンを使用するかどうか
<?php 
// 記事にアイキャッチ画像が設定されていれば
if ( has_post_thumbnail() ): ?>
	<?php 
	$img = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array(350, 200));

	echo $img[0]; // アイキャッチURL
	echo $img[1]; // アイキャッチ画像の幅
	echo $img[2]; // アイキャッチ画像の高さ
	?>
<?php endif; ?>

まず get_post_thumbnail_id() で記事IDと紐づくアイキャッチIDを受け取り、
wp_get_attachment_image_src() の第一引数に渡して取得しています。
この例では画像サイズ350x200に近いアイキャッチ画像を取得させています。

カスタム

関連記事