wp_get_attachment_image_srcset()


WordPressの関数wp_get_attachment_image_srcset()は、特定の画像添付ファイルのsrcset属性の値を取得するために使用されます。

シンタックス

wp_get_attachment_image_srcset( int $attachment_id, string|array $size = 'thumbnail', array $image_meta = null );

引数の説明:

  • $attachment_id (int) — 画像添付ファイルのID。
  • $size (string|array) — 画像サイズ。デフォルトは ‘thumbnail’。
  • $image_meta (array) — 画像メタデータ。デフォルトはnull

例1: サムネイル画像のsrcsetを取得

<?php
$image_id = get_post_thumbnail_id( get_the_ID() );
$srcset = wp_get_attachment_image_srcset( $image_id, 'thumbnail' );
echo $srcset;
?>

例2: カスタムサイズ画像のsrcsetを取得

<?php
$image_id = get_post_thumbnail_id( get_the_ID() );
$custom_size = array( 300, 200 );
$srcset = wp_get_attachment_image_srcset( $image_id, $custom_size );
echo $srcset;
?>

例3: メタデータを指定してsrcsetを取得

<?php
$image_id = get_post_thumbnail_id( get_the_ID() );
$image_meta = wp_get_attachment_metadata( $image_id );
$srcset = wp_get_attachment_image_srcset( $image_id, 'medium', $image_meta );
echo $srcset;
?>

例4: ギャラリー画像のsrcsetを取得

<?php
$gallery_images = get_post_meta( get_the_ID(), '_custom_gallery', true );
foreach ( $gallery_images as $image_id ) {
    $srcset = wp_get_attachment_image_srcset( $image_id, 'large' );
    echo $srcset . '<br>';
}
?>

例5: 投稿のカスタムフィールド画像のsrcsetを取得

<?php
$image_id = get_field( 'custom_image_field', get_the_ID() );
$srcset = wp_get_attachment_image_srcset( $image_id, 'full' );
echo $srcset;
?>

注意点

  • この関数を使用する場合、指定する画像IDが有効であることを確認してください。
  • $image_metaを指定しない場合、関数は内部で自動的にメタデータを取得します。

関連機能: