Automattic\WooCommerce\Blocks\Templates

ProductAttributeTemplate::template_hierarchypublicWC 1.0

Renders the Product by Attribute template for product attributes taxonomy pages.

Method of the class: ProductAttributeTemplate{}

No Hooks.

Returns

null. Nothing (null).

Usage

$ProductAttributeTemplate = new ProductAttributeTemplate();
$ProductAttributeTemplate->template_hierarchy( $templates );
$templates(array) (required)
Templates that match the product attributes taxonomy.

ProductAttributeTemplate::template_hierarchy() code WC 10.8.1

public function template_hierarchy( $templates ) {
	$queried_object = get_queried_object();

	if ( ! is_null( $queried_object ) && taxonomy_is_product_attribute( $queried_object->taxonomy ) && wp_is_block_theme() ) {
		// If Products by Attribute template has been customized or it's in the
		// theme, we load it first, otherwise we only load the fallback template.
		// If we don't do that, the WC core template would always have priority
		// over the fallback template.
		$slugs = array( $this->fallback_template );

		if (
			BlockTemplateUtils::theme_has_template( self::SLUG ) ||
			BlockTemplateUtils::get_block_templates_from_db( array( self::SLUG ) )
		) {
			$slugs = array( self::SLUG, $this->fallback_template );
		}

		array_splice( $templates, count( $templates ) - 1, 0, $slugs );
	}

	return $templates;
}