Automattic\WooCommerce\Blocks\BlockTypes
ProductImageGallery::render
Include and render the block.
Method of the class: ProductImageGallery{}
No Hooks.
Returns
String. Rendered block type output.
Usage
// protected - for code of main (parent) or child class $result = $this->render( $attributes, $content, $block );
- $attributes(array) (required)
- Block attributes.
Default: empty array - $content(string) (required)
- Block content.
Default: empty string - $block(WP_Block) (required)
- Block instance.
ProductImageGallery::render() ProductImageGallery::render code WC 10.4.3
protected function render( $attributes, $content, $block ) {
$post_id = $block->context['postId'];
if ( ! isset( $post_id ) ) {
return '';
}
global $product;
$previous_product = $product;
$product = wc_get_product( $post_id );
if ( ! $product instanceof \WC_Product ) {
$product = $previous_product;
return '';
}
add_filter( 'woocommerce_single_product_zoom_enabled', '__return_true' );
add_filter( 'woocommerce_single_product_photoswipe_enabled', '__return_true' );
add_filter( 'woocommerce_single_product_flexslider_enabled', '__return_true' );
ob_start();
woocommerce_show_product_sale_flash();
$sale_badge_html = ob_get_clean();
ob_start();
woocommerce_show_product_images();
$product_image_gallery_html = ob_get_clean();
$product = $previous_product;
$classname = StyleAttributesUtils::get_classes_by_attributes( $attributes, array( 'extra_classes' ) );
return sprintf(
'<div class="wp-block-woocommerce-product-image-gallery %1$s">%2$s %3$s</div>',
esc_attr( $classname ),
$sale_badge_html,
$product_image_gallery_html
);
}