Целью является создание отдельной темы для продуктов в woocommerce. Я создал папку с именем woocommerce и поместил ее в каталог моей темы. Требуются 2 файла: single-product.php и content-single-product.php, которые я поместил в папку woocommerce. Затем я продублировал оба этих файла, но назвал их single-product-mtg.php и content-single-product-mtg.php.
Затем я отредактировал оригинальный файл single-product.php и заменил этот код:
wc_get_template_part( 'content', 'single-product' );
на этот код:
global $post;
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
$categories = wp_list_pluck( $terms, 'slug' );
if (in_array( 'mtg', $categories ) ) {
wc_get_template_part( 'content', 'single-product-mtg' );
} else {
wc_get_template_part( 'content', 'single-product' );
} // end of new specfic category code ?>
Когда я сбрасываю $ term, яполучить это:
array(1)
{
[0]=> object(WP_Term)#2832 (10)
{
["term_id"]=> int(28) ["name"]=> string(19) "Magic the Gathering"
["slug"]=> string(3) "mtg"
["term_group"]=> int(0)
["term_taxonomy_id"]=> int(28)
["taxonomy"]=> string(11) "product_cat"
["description"]=> string(0) ""
["parent"]=> int(0)
["count"]=> int(295)
["filter"]=> string(3) "raw"
}
}
Когда я сбрасываю $ category, я получаю это:
array(1) { [0]=> string(3) "mtg" }
Однако вместо кода, использующего content-single-product-mtg.php, как и предполагалось,он продолжает использовать content-single-product.php. Что я делаю не так и как мне заставить это использовать content-single-product-mtg.php?