Automattic\WooCommerce\Blocks\BlockTypes

ProductFilterClearButton::renderprotectedWC 1.0

Include and render the block.

Метод класса: ProductFilterClearButton{}

Хуков нет.

Возвращает

Строку. Rendered block type output.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->render( $attributes, $content, $block );
$attributes(массив) (обязательный)
Block attributes.
По умолчанию: empty array
$content(строка) (обязательный)
Block content.
По умолчанию: empty string
$block(WP_Block) (обязательный)
Block instance.

Код ProductFilterClearButton::render() WC 10.5.2

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
	);
}