説明
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

コメント