WordPress アイキャッチのURLを取得する

2018-07-19

WordPressのアイキャッチを表示したい場合:

<?php
the_post_thumbnail( 'thumbnail' );  //サムネイルサイズのアイキャッチ
the_post_thumbnail( array( 300, 300 ) ) ; //横300px 縦300pxのアイキャッチ
?>

出力されるタグは以下のようになります(アイキャッチ)

<img width="690" height="320" src="https://www.radia.jp/wp-content/uploads/eyecatch-sample.jpg" class="attachment-post-thumbnail wp-post-image" alt="" />

この場合imgタグごと出力されます。でもアイキャッチ画像のURLだけ取得したい時にはwp_get_attachment_image_srcを使います。

<?php if(has_post_thumbnail()):
	$thumb_id = get_post_thumbnail_id ();
	$thumb_url = wp_get_attachment_image_src ($thumb_id, 'thumbnail');
                 

?>
<img src="<?php echo $thumb_url[0]; ?>">

1行目:has_post_thumbnail() はアイキャッチが投稿に登録されているかどうかを判断

2行目:アイキャッチ画像のidを取得

3行目:アイキャッチ画像の情報を配列で取得するのがwp_get_attachment_image_srcです。第1引数にアイキャッチ画像のid、第2引数に取得したい画像サイズを入れます。

wp_get_attachment_image_srcで取得できる情報

[0] => url
[1] => width
[2] => height
[3] => 真偽値: リサイズされいている場合は true、元のサイズの場合は false

 

詳しくは
関数リファレンス/wp get attachment image src
テンプレートタグ/the post thumbnail