Automattic\WooCommerce\Blocks\Templates
ProductAttributeTemplate::template_hierarchy
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() 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;
}