Automattic\WooCommerce\Blocks\BlockTypes

ProductFilterClearButton::renderprotectedWC 1.0

Include and render the block.

Method of the class: ProductFilterClearButton{}

No Hooks.

Returns

String. Rendered block type output.

Usage

// protected - for code of main (parent) or child class
$result = $this->render( $attributes, $content, $block );
$attributes(array) (required)
Block attributes.
Default: empty array
$content(string) (required)
Block content.
Default: empty string
$block(WP_Block) (required)
Block instance.

ProductFilterClearButton::render() code WC 10.3.6

protected function render( $attributes, $content, $block ) {
	// don't render if its admin, or ajax in progress.
	if (
		is_admin() ||
		wp_doing_ajax() ||
		empty( $block->context['filterData'] )
	) {
		return '';
	}

	$p = new \WP_HTML_Tag_Processor( $content );

	if ( $p->next_tag( array( 'class_name' => 'wp-block-button__link' ) ) ) {
		$p->set_attribute( 'data-wp-on--click', 'actions.removeAllActiveFilters' );

		$content = $p->get_updated_html();
	}

	$content = str_replace( array( '<a', '</a>' ), array( '<button', '</button>' ), $content );

	return sprintf(
		'<div %1$s>%2$s</div>',
		get_block_wrapper_attributes(),
		$content
	);
}