Automattic\WooCommerce\Blocks\BlockTypes
ProductSKU{}
ProductSKU class.
Хуков нет.
Использование
$ProductSKU = new ProductSKU(); // use class methods
Методы
- protected get_block_type_uses_context()
- protected register_block_type_assets()
- protected render( $attributes, $content, $block )
Код ProductSKU{} ProductSKU{} WC 7.5.1
class ProductSKU extends AbstractBlock { /** * Block name. * * @var string */ protected $block_name = 'product-sku'; /** * API version name. * * @var string */ protected $api_version = '2'; /** * Overwrite parent method to prevent script registration. * * It is necessary to register and enqueues assets during the render * phase because we want to load assets only if the block has the content. */ protected function register_block_type_assets() { return null; } /** * Register the context. */ 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 ) { if ( ! empty( $content ) ) { parent::register_block_type_assets(); $this->register_chunk_translations( [ $this->block_name ] ); return $content; } $post_id = $block->context['postId']; $product = wc_get_product( $post_id ); if ( $product ) { return sprintf( '<div class="wc-block-components-product-sku wc-block-grid__product-sku"> SKU: <strong>%s</strong> </div>', $product->get_sku() ); } } }