Automattic\WooCommerce\Blocks\BlockTypes
ProductGalleryLargeImage::get_main_media_html
Get the main media HTML.
Method of the class: ProductGalleryLargeImage{}
No Hooks.
Returns
string.
Usage
// private - for code of main (parent) class only $result = $this->get_main_media_html( $context, $product, $inner_block );
- $context(array) (required)
- The block context.
- $product(WC_Product) (required)
- The product object.
- $inner_block(WP_Block) (required)
- The inner block object.
ProductGalleryLargeImage::get_main_media_html() ProductGalleryLargeImage::get main media html code WC 11.1.2
<?php
private function get_main_media_html( $context, $product, $inner_block ) {
$media_data = ProductGalleryUtils::get_product_gallery_media_data( $product, 'woocommerce_single' );
ob_start();
?>
<ul
class="wc-block-product-gallery-large-image__container"
data-wp-interactive="woocommerce/product-gallery"
data-wp-on--keydown="actions.onViewerImageKeyDown"
aria-label="<?php esc_attr_e( 'Product gallery', 'woocommerce' ); ?>"
tabindex="0"
aria-roledescription="carousel"
>
<?php foreach ( $media_data as $index => $media ) : ?>
<li
class="wc-block-product-gallery-large-image__wrapper"
>
<?php
if ( 'video' === ( $media['media_type'] ?? '' ) ) {
echo $this->get_video_html( $media, $context, $inner_block ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
continue;
}
$image_html = (
new WP_Block(
$inner_block->parsed_block,
array_merge( $context, array( 'imageId' => $media['id'] ) )
)
)->render( array( 'dynamic' => true ) );
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo $this->update_single_image( $image_html, $context, $index );
?>
</li>
<?php endforeach; ?>
</ul>
<?php
$template = ob_get_clean();
return wp_interactivity_process_directives( $template );
}