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

概要

wp_get_attachment_url関数は、投稿情報(添付ファイル)のURLを取得するために使用される関数です。この関数は、WordPressのメディアライブラリに格納されているファイルのURLを取得する際によく使われます。以下は、この関数が便利に使われる場面の例です。

  1. メディアファイルのURLを取得して、カスタムテンプレートやウィジェットで表示する。
  2. 添付ファイルのリンクをメールや通知に取り入れる際に使用する。
  3. メディアギャラリーを作成する際に、各画像のURLを取得する。
  4. カスタムフィールドに保存されている添付ファイルのURLを取得するのに活用する。
  5. イメージリサイズや変換を行った際に、変換後のファイルを参照する。
  6. 投稿のアイキャッチ画像をURLとして取得する。
  7. ブロックエディタを使用したカスタムブロックでファイルを表示する。
  8. プラグインやテーマの設定でユーザーがアップロードしたファイルを表示する際に利用する。

構文

wp_get_attachment_url( $attachment_id );

パラメータ

  • $attachment_id (int) – 取得したい添付ファイルのID。必須。

戻り値

  • 添付ファイルのURL(文字列)。添付ファイルが存在しない場合はfalseを返します。

関連する関数

WordPressのコアファイルのパス

wp-includes/post.php

使用可能なバージョン

この関数は、WordPress 2.0.0以降で使用可能です。

この関数のアクションでの使用可能性

アクション 使用例
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を注意深く指定
$attachment_url = wp_get_attachment_url( $attachment_id );
echo $attachment_url;

このサンプルは、指定したIDの添付ファイルのURLを取得し、それを出力します。

サンプル 2: 投稿からアイキャッチ画像のURLを取得する

$post_id = get_the_ID(); // 現在の投稿IDを取得
$thumbnail_id = get_post_thumbnail_id( $post_id );
$thumbnail_url = wp_get_attachment_url( $thumbnail_id );
echo $thumbnail_url;

このサンプルは、現在の投稿のアイキャッチ画像のURLを取得して表示します。

サンプル 3: メディアギャラリーの画像を全て表示する

$attachments = get_posts( array(
    'post_type' => 'attachment',
    'posts_per_page' => -1,
) );

if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
        echo wp_get_attachment_url( $attachment->ID ) . '<br />';
    }
}

このサンプルは、全ての添付ファイルのURLを取得し、それらを表示します。

サンプル 4: URLが取得できない場合のエラーハンドリング

$attachment_id = 456; // IDを指定
$attachment_url = wp_get_attachment_url( $attachment_id );

if ( false === $attachment_url ) {
    echo 'ファイルが見つかりません。';
} else {
    echo '添付ファイルのURL: ' . $attachment_url;
}

このサンプルは、URLを正常に取得できなかった場合のエラーメッセージを表示します。

サンプル 5: カスタムフィールドから添付ファイルのURLを取得

$attachment_id = get_post_meta( get_the_ID(), 'custom_attachment_id', true );
$attachment_url = wp_get_attachment_url( $attachment_id );
echo $attachment_url;

このサンプルは、カスタムフィールドからIDを取得し、そのIDに対応する添付ファイルのURLを表示します。

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


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