<?php namespace Automattic\WooCommerce\Blocks\Templates; /** * ProductAttributeTemplate class. * * @internal */ class ProductAttributeTemplate { const SLUG = 'taxonomy-product_attribute'; /** * Constructor. */ public function __construct() { $this->init(); } /** * Initialization method. */ protected function init() { add_filter( 'taxonomy_template_hierarchy', array( $this, 'update_taxonomy_template_hierarchy' ), 1, 3 ); } /** * Renders the Product by Attribute template for product attributes taxonomy pages. * * @param array $templates Templates that match the product attributes taxonomy. */ public function update_taxonomy_template_hierarchy( $templates ) { $queried_object = get_queried_object(); if ( taxonomy_is_product_attribute( $queried_object->taxonomy ) && wc_current_theme_is_fse_theme() ) { array_splice( $templates, count( $templates ) - 1, 0, self::SLUG ); } return $templates; } }