AI ANSWERS by 1 NOTES

WEB制作、AI、Windows、アプリの使い方など様々な疑問を解決する

WordPressで記事にアタッチされているサムネイル画像を取得する

WordPressの記事にアタッチされているサムネイル画像を取得するには、以下のようなコードを使用できます。

<?php
if ( has_post_thumbnail() ) {
	 $thumbnail_id = get_post_thumbnail_id();
	 $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail-size', true );
	 echo '<img src="' . esc_url( $thumbnail_url[0] ) . '" alt="' . esc_attr( get_the_title() ) . '">';
}
?>

このコードでは、まず has_post_thumbnail() 関数を使用して、記事にサムネイル画像がアタッチされているかどうかを確認します。その後、 get_post_thumbnail_id() 関数を使用して、サムネイル画像のIDを取得し、 wp_get_attachment_image_src() 関数を使用して、サムネイル画像のURLを取得します。最後に、取得したURLを使用して img 要素を出力します。

wp_get_attachment_image_src() 関数の第二引数には、サムネイルサイズの名前を指定できます。例えば、WordPressがデフォルトで提供する thumbnail サイズを使用する場合は、上記のコードの thumbnail-size の部分を thumbnail に変更することができます。また、 true を指定することで、画像の幅と高さも取得できます。

サムネイルを取得する場合、'thumbnail-size'ではなく'thumbnail'なのでは?

ご指摘ありがとうございます。確かに、WordPressのデフォルトのサムネイルサイズの名称は thumbnail であり、正しくは以下のように thumbnail を指定する必要があります。

<?php
if ( has_post_thumbnail() ) {
	 $thumbnail_id = get_post_thumbnail_id();
	 $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail', true );
	 echo '<img src="' . esc_url( $thumbnail_url[0] ) . '" alt="' . esc_attr( get_the_title() ) . '">';
}
?>

お手数おかけしました。