WordPressでメディアのURLを取得する

WordPressでは、アップロードした画像や動画などは、メディアとして管理されます。

投稿や固定ページに貼り付けた画像などは、「添付した画像」などといいます。

「メディア」で管理することができますが、基本的には投稿や固定ページに添付されていることが前提なことがおおいですが、そうではなくて、メディアの中から特定の画像を一覧で表示したいときがありあす。

そんなときは、WP_Queryで取り出して表示するのがいいです。

画像の一覧を取得する

WP_Queryのpost_typeにattachmentを指定して取り出します。

the_attachment_link を使うと、HTMLタグごと出力してくれるので、ただ貼り付けるだけで画像を出力してくれます。が。出力サイズをフルサイズかサムネイルしか選べないので、
wp_get_attachment_link をったほうが便利です。

ただ、もうちょっと細かいことがしたかったら、URLを直接取得してタグは自力でかいたほうがいいこともあります。そんなときは、wp_get_attachment_url を使います。
あるいは、wp_get_attachment_image_src を使うと、画像のURLとサイズを配列で取得できます。

カテゴリに指定されたものだけ取得する

メディアにカテゴリをつけていた場合、そのカテゴリで出力する画像を指定できます。

WP_Queryのargsを次のようにtax_queryを追加します。

固定ページや投稿ページに使われている画像を取得する

特定の固定ページや投稿ページに使われている(添付されている)画像を取得したいときは、get_attached_media を使います。以下の例では、get_the_ID を使っているので、ループの中で使います。

タイトルとURLをコピーしました