ワードプレスのwp_get_attachment_image関数の使用方法・解説

概要

wp_get_attachment_image関数は、WordPressにおいてアタッチメント(メディアや画像)のHTMLテキストを取得するための関数です。この関数は、特定のアタッチメントIDに関連する画像を簡単に表示する際に非常に便利です。一般的には、記事や投稿に含まれる画像を表示するために使用されます。以下は、主に使用されるシナリオの例です。

  1. 投稿やページに関連するメディアを表示する。
  2. カスタム投稿タイプに関連する画像を取得する。
  3. ギャラリーやスライダーで画像を表示する。
  4. フロントエンドのウィジェットに画像を追加する。
  5. サムネイル画像を表示する際に使用する。
  6. プラグインでカスタマイズした画像を表示する。
  7. フッターやサイドバーにアイコン画像を配置する。
  8. 様々なサイズの画像を表示する用途で使用する。

構文

wp_get_attachment_image( $attachment_id, $size, $icon, $attr );

パラメータ

  • $attachment_id (int) – アタッチメント(画像)のID
  • $size (mixed) – 画像のサイズ(例: ‘thumbnail’, ‘medium’, ‘large’, または配列で指定)
  • $icon (bool) – アイコンを表示するかどうか(デフォルトはfalse
  • $attr (string) – 画像に追加するHTML属性(例: classalt

戻り値

  • 画像の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」サイズで表示し、その画像をクリックするとフルサイズの画像のリンクを表示します。

この関数について質問する


上の計算式の答えを入力してください