Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce\Renderer\Blocks
Product_Collection::render_content
Render the product collection block content for email.
Метод класса: Product_Collection{}
Хуков нет.
Возвращает
string.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->render_content( $block_content, $parsed_block, $rendering_context ): string;
- $block_content(строка) (обязательный)
- Block content.
- $parsed_block(массив) (обязательный)
- Parsed block.
- $rendering_context(Rendering_Context) (обязательный)
- Rendering context.
Код Product_Collection::render_content() Product Collection::render content WC 11.2.2
protected function render_content( string $block_content, array $parsed_block, Rendering_Context $rendering_context ): string {
// Create a query for the Product Collection block.
$query = $this->prepare_and_execute_query( $parsed_block, $rendering_context );
// Get collection type to pass to child blocks.
$collection_type = $parsed_block['attrs']['collection'] ?? '';
// Get column count from display layout attributes.
$columns = (int) ( $parsed_block['attrs']['displayLayout']['columns'] ?? 1 );
$content = '';
foreach ( $parsed_block['innerBlocks'] as $inner_block ) {
switch ( $inner_block['blockName'] ) {
case 'woocommerce/product-template':
$content .= $this->render_product_template( $inner_block, $query, $collection_type, $columns, $rendering_context );
break;
default:
$content .= render_block( $inner_block );
break;
}
}
wp_reset_postdata();
return $content;
}