画像IDから画像URLを取得したい、もしくは画像URLから画像IDを取得したい、といった時に取得方法をご紹介いたします。
テーマをカスタマイズしている際、稀に必要になるケースがありますね。
画像IDから画像URLを取得する方法
まずは、画像IDから画像URLを取得する方法です。画像IDから画像URLを取得するには、wp_get_attachment_urlもしくはwp_get_attachment_image_urlを使います。
wp_get_attachment_urlの場合
wp_get_attachment_urlの場合は、以下のように記述します。
$img_url = wp_get_attachment_url(12);
上記の場合、画像IDが12の画像URLが$img_urlに代入されます。画像のサイズは指定できません。
なお、画像IDの数字部分は変数で指定してもOKです。
wp_get_attachment_image_urlの場合
画像のサイズも指定したい場合は、wp_get_attachment_image_urlを使います。
$img_url = wp_get_attachment_image_url(12, 'thumbnail');
上記の場合、画像IDが12のサムネイルサイズの画像URLが$img_urlに代入されます。
wp_get_attachment_urlよりもwp_get_attachment_image_urlの方が汎用性ありますね。
画像URLから画像IDを取得する方法
上述した内容とは逆に、画像URLから画像IDを取得するには、attachment_url_to_postid関数を使います。
$img_id = attachment_url_to_postid('https://example.com/wp-content/uploads/2021/07/sample.jpg');
上記の場合、メディアライブラリにアップロードされたsample.jpgの画像IDが$img_idに代入されます。
あとがき
画像の情報を取得してカスタマイズに活用したい時は、ぜひ参考にしていただければと思います。