ワードプレスの投稿に含まれる画像をすべて取得するには?

下記のコードは$postidに指定された投稿に含まれるすべての画像URLを出力します。投稿に含まれる画像ギャラリーを置いたりするのに利用できるかと思います。コードはテーマファイルの投稿を出力するファイルsingle-post.php, single.phpなどで利用できるかと存じます。

$args = array(
    'post_parent'    => $postid,
    'post_type'      => 'attachment',
    'numberposts'    => -1,
    'post_status'    => 'any',
    'post_mime_type' => 'image',
    'orderby'        => 'menu_order',
    'order'          => 'ASC'
);
$images = get_posts($args);
if($images) { 
    foreach($images as $image) {
        echo wp_get_attachment_url($image->ID);
    }
} 

ワードプレスの投稿に含まれる最初の画像URLを取得するには?

下記のようにコードを一部変更されることで投稿に挿入されている最初の画像URLを取得することが可能です。

$args = array(
    'post_parent'    => $postid,
    'post_type'      => 'attachment',
    'numberposts'    => 1, //1枚だけ取得する
    'post_status'    => 'any',
    'post_mime_type' => 'image',
    'orderby'        => 'menu_order',
    'order'          => 'ASC'
);
$image = get_posts($args);
if($image) { 
    echo wp_get_attachment_url($image[0]->ID);
} 

コードの解説

このプログラムはget_postsを使い$argsで指定した条件にて、ワードプレスのデータを取得しています。
‘post_parent’ 画像が添付されている投稿のID
‘post_type’ 添付画像
‘numberposts’ 取得する最大数
‘post_status’ 画像の投稿ステータス
‘post_mime_type’ タイプ(画像)
‘orderby’ 並び順
‘order’ 昇順・降順
を指定しています。
リストとして$imagesに取得した画像の配列から、wp_get_attachment_urlにその画像のIDを指定して画像URLを取得します。

WordPress のテーマやプラグインのカスタマイズはワードプレス ドクターにお気軽にご相談ご依頼くださいませ