wp_get_attachment_image_src() の使い方|説明・引数・注意点

説明

wp_get_attachment_image_src() は、画像のURL、幅、高さを配列で返す関数です。サイズを指定できます。

基本構文

wp_get_attachment_image_src( int $attachment_id, string|int[] $size = 'thumbnail', bool $icon = false ): array|false

引数

  • $attachment_id:添付ファイルのID
  • $size:サイズ名または array( 幅, 高さ )
  • $icon:アイコンとして扱うか

戻り値

[ URL, 幅, 高さ, リサイズ済みか ] の配列。なければ false。

使い方(サンプル)

$img = wp_get_attachment_image_src( 45, 'medium' );
if ( $img ) {
	var_dump( $img[0] );
}

注意点

  • 戻り値が false の場合を考慮して判定します。
  • インデックス0がURL、1が幅、2が高さです。

実務での使いどころ

  • サイズを指定して、画像のURLと、幅・高さを取得するとき。
  • CSSの background-image や、og:image に、画像のURLを使うとき。

よくあるミスと対処

  • 戻り値は文字列ではなく、配列(URL、幅、高さ、リサイズ済みかどうか)。echo できない。
  • 存在しないIDでは false が返る。確認せずに使う。
  • サイズ名を省略している。既定は thumbnail。

NG例

echo wp_get_attachment_image_src( $id, 'large' ); // 配列なので、「Array」と表示される

OK例

$src = wp_get_attachment_image_src( $id, 'large' );
if ( $src ) {
	echo esc_url( $src[0] ); // URL
}

使い分け早見表

やりたいこと 使うもの
サイズ指定のURLと、幅・高さ(配列) wp_get_attachment_image_src()
imgタグのHTML wp_get_attachment_image()
元のファイルのURL wp_get_attachment_url()

関連項目

wp_get_attachment_url()、wp_get_attachment_image()

公式リファレンス:wp_get_attachment_image_src() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました