概要
wp_get_attachment_image
関数は、WordPressにおいてアタッチメント(メディアや画像)のHTMLテキストを取得するための関数です。この関数は、特定のアタッチメントIDに関連する画像を簡単に表示する際に非常に便利です。一般的には、記事や投稿に含まれる画像を表示するために使用されます。以下は、主に使用されるシナリオの例です。
- 投稿やページに関連するメディアを表示する。
- カスタム投稿タイプに関連する画像を取得する。
- ギャラリーやスライダーで画像を表示する。
- フロントエンドのウィジェットに画像を追加する。
- サムネイル画像を表示する際に使用する。
- プラグインでカスタマイズした画像を表示する。
- フッターやサイドバーにアイコン画像を配置する。
- 様々なサイズの画像を表示する用途で使用する。
構文
wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
パラメータ
- $attachment_id (int) – アタッチメント(画像)のID
- $size (mixed) – 画像のサイズ(例: ‘thumbnail’, ‘medium’, ‘large’, または配列で指定)
- $icon (bool) – アイコンを表示するかどうか(デフォルトは
false
) - $attr (string) – 画像に追加するHTML属性(例:
class
やalt
)
戻り値
- 画像のHTMLコードを含む文字列。
関連する関数
使用可能なバージョン
- 版本 2.9.0 で追加されました。
コアファイルのパス
wp-includes/media.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: 投稿のサムネイルを表示
if ( has_post_thumbnail() ) {
echo wp_get_attachment_image( get_post_thumbnail_id(), 'medium' );
}
このコードは、投稿がサムネイルを持っている場合、そのサムネイルを「medium」サイズで表示します。
サンプル2: ギャラリー画像の表示
$attachments = get_post_gallery_images( $post );
if ( $attachments ) {
foreach ( $attachments as $attachment_id ) {
echo wp_get_attachment_image( $attachment_id, 'large' );
}
}
このコードは、投稿のギャラリー画像を「large」サイズで表示します。
サンプル3: サイドバーウィジェットに画像を追加
function my_custom_widget() {
$image_id = get_option('my_widget_image_id');
echo wp_get_attachment_image( $image_id, 'thumbnail' );
}
このコードは、サイドバーウィジェットに指定されたIDの画像を「thumbnail」サイズで表示します。
サンプル4: カスタム投稿タイプに画像を表示
function display_custom_post_image() {
if ( is_singular('custom_post_type') ) {
echo wp_get_attachment_image( get_post_meta( get_the_ID(), 'custom_image_id', true ), 'full' );
}
}
このコードは、特定のカスタム投稿タイプで、関連する画像を「full」サイズで表示します。
サンプル5: 簡単な画像リンクの作成
$image_id = 123; // アタッチメントID
echo '<a href="' . wp_get_attachment_url( $image_id ) . '">';
echo wp_get_attachment_image( $image_id, 'medium' );
echo '</a>';
このコードは、指定されたアタッチメントIDの画像を「medium」サイズで表示し、その画像をクリックするとフルサイズの画像のリンクを表示します。