Server IP : 192.158.238.246 / Your IP : 3.147.68.89 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/7779/cwd/plugins/woocommerce/src/Blocks/BlockTypes/ |
Upload File : |
<?php namespace Automattic\WooCommerce\Blocks\BlockTypes; use Automattic\WooCommerce\Blocks\Utils\StyleAttributesUtils; /** * ProductImageGallery class. */ class ProductImageGallery extends AbstractBlock { /** * Block name. * * @var string */ protected $block_name = 'product-image-gallery'; /** * It isn't necessary register block assets because it is a server side block. */ protected function register_block_type_assets() { return null; } /** * Register the context * * @return string[] */ protected function get_block_type_uses_context() { return [ 'query', 'queryId', 'postId' ]; } /** * Include and render the block. * * @param array $attributes Block attributes. Default empty array. * @param string $content Block content. Default empty string. * @param WP_Block $block Block instance. * @return string Rendered block type output. */ 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 ''; } if ( class_exists( 'WC_Frontend_Scripts' ) ) { $frontend_scripts = new \WC_Frontend_Scripts(); $frontend_scripts::load_scripts(); } 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 ); } }