概要
wp_get_attachment_url
関数は、投稿情報(添付ファイル)のURLを取得するために使用される関数です。この関数は、WordPressのメディアライブラリに格納されているファイルのURLを取得する際によく使われます。以下は、この関数が便利に使われる場面の例です。
- メディアファイルのURLを取得して、カスタムテンプレートやウィジェットで表示する。
- 添付ファイルのリンクをメールや通知に取り入れる際に使用する。
- メディアギャラリーを作成する際に、各画像のURLを取得する。
- カスタムフィールドに保存されている添付ファイルのURLを取得するのに活用する。
- イメージリサイズや変換を行った際に、変換後のファイルを参照する。
- 投稿のアイキャッチ画像をURLとして取得する。
- ブロックエディタを使用したカスタムブロックでファイルを表示する。
- プラグインやテーマの設定でユーザーがアップロードしたファイルを表示する際に利用する。
構文
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を表示します。