Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
optometrists
/
cache
/
.wp-cli
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
src
/
BlockTypes
:
ProductSearch.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Automattic\WooCommerce\Blocks\BlockTypes; /** * ProductSearch class. */ class ProductSearch extends AbstractBlock { /** * Block name. * * @var string */ protected $block_name = 'product-search'; /** * Get the frontend script handle for this block type. * * @param string $key Data to get, or default to everything. * @return null */ protected function get_block_type_script( $key = null ) { return null; } /** * Render the block. * * @param array $attributes Block attributes. * @param string $content Block content. * @return string Rendered block type output. */ protected function render( $attributes, $content ) { /** * Product Search event. * * Listens for product search form submission, and on submission fires a WP Hook named * `experimental__woocommerce_blocks-product-search`. This can be used by tracking extensions such as Google * Analytics to track searches. */ $this->asset_api->add_inline_script( 'wp-hooks', " window.addEventListener( 'DOMContentLoaded', () => { const forms = document.querySelectorAll( '.wc-block-product-search form' ); for ( const form of forms ) { form.addEventListener( 'submit', ( event ) => { const field = form.querySelector( '.wc-block-product-search__field' ); if ( field && field.value ) { wp.hooks.doAction( 'experimental__woocommerce_blocks-product-search', { event: event, searchTerm: field.value } ); } } ); } } ); ", 'after' ); return $content; } }