説明
wp_get_attachment_url() は、添付ファイル(メディア)のURLを返す関数です。
基本構文
wp_get_attachment_url( int $attachment_id = 0 ): string|false
引数
$attachment_id:添付ファイルのID
戻り値
ファイルのURL。存在しなければ false。
使い方(サンプル)
echo esc_url( wp_get_attachment_url( 45 ) );
注意点
- 画像のサイズ違いのURLが欲しいときは
wp_get_attachment_image_src()を使います。
実務での使いどころ
- 画像やPDFなど、添付ファイル(メディア)の元のファイルのURLを取得するとき。
- PDFのダウンロードリンクを作るとき。
よくあるミスと対処
- サイズ違いの画像のURLが欲しいのに、これを使っている。この関数が返すのは、元のファイル(フルサイズ)のURL。サイズ指定は
wp_get_attachment_image_src()を使う。 - 投稿のIDを渡している。渡すのは、添付ファイルのID。アイキャッチ画像のIDは、
get_post_thumbnail_id()で取得する。 - 存在しないIDでは
falseが返る。確認せずに出力する。
NG例
echo wp_get_attachment_url( get_the_ID() ); // 投稿のIDを渡している
OK例
$url = wp_get_attachment_url( get_post_thumbnail_id() );
if ( $url ) {
echo esc_url( $url );
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 元のファイルのURL | wp_get_attachment_url() |
| サイズ指定のURLと、幅・高さ | wp_get_attachment_image_src() |
| imgタグのHTML | wp_get_attachment_image() |
関連項目
wp_get_attachment_image_src()、wp_get_attachment_image()
公式リファレンス:wp_get_attachment_url() | Function | WordPress Developer Resources

コメント