Automattic\WooCommerce\Blocks\BlockTypes\ProductCollection
Controller::add_product_title_click_event_directives()
Add interactivity to the Product Title block within Product Collection. This enables the triggering of a custom event when the product title is clicked.
Method of the class: Controller{}
No Hooks.
Return
String
. Modified block content with added interactivity.
Usage
$Controller = new Controller(); $Controller->add_product_title_click_event_directives( $block_content, $block, $instance );
- $block_content(string) (required)
- The block content.
- $block(array) (required)
- The full block, including name and attributes.
- $instance(\WP_Block) (required)
- The block instance.
Controller::add_product_title_click_event_directives() Controller::add product title click event directives code WC 9.6.1
public function add_product_title_click_event_directives( $block_content, $block, $instance ) { $namespace = $instance->attributes['__woocommerceNamespace'] ?? ''; $is_product_title_block = 'woocommerce/product-collection/product-title' === $namespace; $is_link = $instance->attributes['isLink'] ?? false; // Only proceed if the block is a Product Title (Post Title variation) block. if ( $is_product_title_block && $is_link ) { $p = new \WP_HTML_Tag_Processor( $block_content ); $p->next_tag( array( 'class_name' => 'wp-block-post-title' ) ); $is_anchor = $p->next_tag( array( 'tag_name' => 'a' ) ); if ( $is_anchor ) { $p->set_attribute( 'data-wc-on--click', 'woocommerce/product-collection::actions.viewProduct' ); $block_content = $p->get_updated_html(); } } return $block_content; }