get_post_galleries_images()


WordPressのget_post_galleries_images()関数は、特定の投稿に含まれるギャラリーの画像URLを取得するために使用されます。

構文

get_post_galleries_images( WP_Post|int|null $post = null );

この関数は特定の投稿のギャラリー画像を配列として返します。引数が指定されない場合、現在の投稿が対象になります。

例1: 現在の投稿のギャラリー画像を取得

現在の投稿に含まれるすべてのギャラリー画像URLを取得します。

<?php
$images = get_post_galleries_images();
foreach ( $images as $gallery ) {
    foreach ( $gallery as $image_url ) {
        echo '<img src="' . esc_url( $image_url ) . '" alt="">';
    }
}
?>

例2: 特定の投稿IDのギャラリー画像を取得

指定した投稿IDのギャラリー画像を取得します。

<?php
$post_id = get_the_ID();
$images = get_post_galleries_images( $post_id );
foreach ( $images as $gallery ) {
    foreach ( $gallery as $image_url ) {
        echo '<img src="' . esc_url( $image_url ) . '" alt="">';
    }
}
?>

例3: 現在の投稿の最初のギャラリー画像を表示

最初のギャラリーの画像だけを表示します。

<?php
$images = get_post_galleries_images();
if ( ! empty( $images[0][0] ) ) {
    echo '<img src="' . esc_url( $images[0][0] ) . '" alt="">';
}
?>

例4: カスタムクエリ内の投稿のギャラリー画像を取得

カスタムクエリで取得した投稿のギャラリー画像を表示します。

<?php
$query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 5 ) );
while ( $query->have_posts() ) {
    $query->the_post();
    $images = get_post_galleries_images();
    foreach ( $images as $gallery ) {
        foreach ( $gallery as $image_url ) {
            echo '<img src="' . esc_url( $image_url ) . '" alt="">';
        }
    }
}
wp_reset_postdata();
?>

例5: ギャラリー画像をJSON形式で出力

ギャラリー画像をJSON形式で出力します。

<?php
$images = get_post_galleries_images();
echo json_encode( $images );
?>

注意事項

  • get_post_galleries_images()はギャラリーショートコードに依存します。
  • ギャラリーが含まれていない投稿では空の配列が返されます。
  • 画像URLを直接使用する前にesc_url()を使用してエスケープすることを推奨します。

関連機能: