get_post_gallery_images()


WordPressの関数get_post_gallery_images()は、特定の投稿に関連付けられたギャラリー画像のURLを取得するために使用されます。この関数は配列を返し、それぞれの要素がギャラリー画像のURLになります。

構文

get_post_gallery_images( WP_Post $post = null );
  • $post (WP_Post) — 対象の投稿オブジェクト。指定しない場合は現在の投稿が使用されます。

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

現在の投稿のギャラリー画像をすべて取得し、ループで表示します。

<?php
$images = get_post_gallery_images();
if ( $images ) {
    foreach ( $images as $image_url ) {
        echo '<img src="' . esc_url( $image_url ) . '" alt="Gallery Image">';
    }
}
?>

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

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

<?php
$post = get_post( 42 );
$images = get_post_gallery_images( $post );
if ( $images ) {
    foreach ( $images as $image_url ) {
        echo '<img src="' . esc_url( $image_url ) . '" alt="Gallery Image">';
    }
}
?>

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

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

<?php
$images = get_post_gallery_images();
if ( $images ) {
    echo wp_json_encode( $images );
}
?>

例4: ギャラリーが存在するか確認

ギャラリーが存在する場合に特定のメッセージを表示します。

<?php
$images = get_post_gallery_images();
if ( $images ) {
    echo 'この投稿にはギャラリーがあります。';
} else {
    echo 'ギャラリーはありません。';
}
?>

例5: カスタムクエリでギャラリー画像を取得

カスタムクエリを使用して複数の投稿のギャラリー画像を取得します。

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

注意事項

  • この関数は投稿にギャラリーショートコードが含まれている場合にのみ動作します。
  • ギャラリーが見つからない場合、空の配列が返されます。

関連機能: