get_post_gallery( int|WP_Post $post, bool $html = true ): string|array

Checks a specified post’s content for gallery and, if present, return the first

Parameters

$postint|WP_Postoptional
Post ID or WP_Post object. Default is global $post.
$htmlbooloptional
Whether to return HTML or data. Default is true.

Default:true

Return

string|array Gallery data and srcs parsed from the expanded shortcode.

Source

	}
	continue;
}

// New Gallery block format as HTML.
if ( $has_inner_blocks && $html ) {
	$block_html  = wp_list_pluck( $block['innerBlocks'], 'innerHTML' );
	$galleries[] = '<figure>' . implode( ' ', $block_html ) . '</figure>';
	continue;
}

$srcs = array();

// New Gallery block format as an array.
if ( $has_inner_blocks ) {

Changelog

VersionDescription
3.6.0Introduced.

User Contributed Notes

  1. Skip to note 4 content

    Example
    Output each image in a gallery with our own custom image class when using data output and not HTML:

    <?php
    /* The loop */
    while ( have_posts() ) : the_post();
    	if ( $gallery = get_post_gallery( get_the_ID(), false ) ) :
    		// Loop through all the image and output them one by one.
    		foreach ( $gallery['src'] AS $src ) {
    	                ?>                
    	                <img src="<?php echo $src; ?>" class="my-custom-class" alt="Gallery image" />
    			<?php
    		}
    	endif;
    endwhile;
    ?>

    Example data output

    array (size=3)
      'link' => string 'file' (length=4)
      'ids' => string '423,424,425,426' (length=15)
      'src' => 
        array (size=4)
          0 => string 'http://www.yoursite.com/wp-content/uploads/2013/10/1296136694836-150x150.jpg' (length=85)
          1 => string 'http://www.yoursite.com/wp-content/uploads/2013/10/1315981706292-150x150.jpg' (length=85)
          2 => string 'http://www.yoursite.com/wp-content/uploads/2013/10/fate-stay-night-446-wall1200-150x150.jpg' (length=100)
          3 => string 'http://www.yoursite.com/wp-content/uploads/2013/10/GpTq3-150x150.jpg' (length=77)

You must log in before being able to contribute a note or feedback.