概要
wp_get_attachment_image_url
関数は、指定された添付ファイル(画像)のURLを取得するためのWordPressのビルトイン関数です。この関数は、特に画像ギャラリーやメディアライブラリからの画像を表示する際に役立ちます。また、デザインや表示ニーズに合わせて適切な画像サイズを選択できる機能も提供します。具体的には、以下のような機能を実装する際によく使用されます。
- 投稿やページへの画像挿入
- サムネイル画像の表示
- ギャラリーの作成
- カスタムフィールドからの画像取得
- 画像ベースのカスタムウィジェットの作成
- 商品画像の表示(WooCommerceなど)
- スライダーやカルーセルの実装
- プロフィール画像やユーザーアバターの表示
構文
wp_get_attachment_image_url( int $attachment_id, string $size = 'full' );
パラメータ
- $attachment_id (int): 取得したい画像の添付ID。
- $size (string): 取得したい画像のサイズ(デフォルトは’full’)。例えば、’thumbnail’, ‘medium’, ‘large’ など。
戻り値
- 添付ファイルの画像URLを返します。画像が存在しない場合は
false
を返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 3.5.0以降で使用可能です。
コアファイルのパス
この関数は、以下のファイルに含まれています:
wp-includes/post.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | 〇 |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | 〇 |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head | 〇 |
サンプルコード
サンプル 1: 画像URLの取得
$attachment_id = 123; // 取得したい添付ファイルのID
$image_url = wp_get_attachment_image_url($attachment_id, 'full');
echo '<img src="' . esc_url($image_url) . '" alt="画像">';
このコードは、指定されたIDの添付ファイルの画像URLを取得し、その画像をHTMLで表示します。
引用元: WordPress Codex
サンプル 2: サムネイル画像の取得
$attachment_id = get_post_thumbnail_id($post->ID); // 投稿のサムネイルIDを取得
$image_url = wp_get_attachment_image_url($attachment_id, 'thumbnail');
echo '<img src="' . esc_url($image_url) . '" alt="サムネイル">';
このコードは、現在の投稿のサムネイル画像を取得して表示します。
引用元: WordPress Codex
サンプル 3: ギャラリー画像の取得
$attachments = get_posts(array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'posts_per_page' => -1,
'post_parent' => $post->ID
));
if ($attachments) {
foreach ($attachments as $attachment) {
$image_url = wp_get_attachment_image_url($attachment->ID, 'medium');
echo '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($attachment->post_title) . '">';
}
}
このコードは、投稿に関連付けられた全ての画像を取得し、それらを表示します。
引用元: WordPress Codex
サンプル 4: カスタムサイズの画像を取得
$attachment_id = 456; // 取得したい添付ファイルのID
$image_url = wp_get_attachment_image_url($attachment_id, 'medium');
if ($image_url) {
echo '<img src="' . esc_url($image_url) . '" alt="カスタムサイズ画像">';
} else {
echo '画像が見つかりません';
}
このコードは、特定の添付ファイルのカスタムサイズの画像URLを取得して表示します。
引用元: WordPress Codex
サンプル 5: 画像の存在確認
$attachment_id = 789; // 取得したい添付ファイルのID
$image_url = wp_get_attachment_image_url($attachment_id, 'full');
if ($image_url) {
echo '画像のURL: ' . esc_url($image_url);
} else {
echo '指定された画像は存在しません';
}
このコードは、指定されたIDの画像が存在するかどうかを確認し、存在する場合はそのURLを表示します。
引用元: WordPress Codex