Определить, является ли страница страницей подкатегории продукта?

Как определить, является ли текущая страница страницей категории продуктов?

Я пробовал со следующим, но он всегда будет печатать «НЕТ»,

function is_subcategory($category = null) { if (is_category()) { if (null != $category){ $cat = get_category($category); }else{ $cat = get_category(get_query_var('cat'),false); } if ($cat->parent == 0 ){ return false; }else{ return true; } } return false; } if (is_subcategory()){ echo "YES"; }else{ echo "NO"; } 

Solutions Collecting From Web of "Определить, является ли страница страницей подкатегории продукта?"

is_category() проверяет только встроенную почтовую категорию. Категории товаров – это таксономии. Поэтому вам нужно использовать is_tax() вместо is_category() и get_term() вместо get_category() .

Проверьте этот пример:

 function is_subcategory($cat_id = null) { if (is_tax('product_cat')) { if (empty($cat_id)){ $cat_id = get_queried_object_id(); } $cat = get_term(get_queried_object_id(), 'product_cat'); if ( empty($cat->parent) ){ return false; }else{ return true; } } return false; } 

Также безопасная сторона вместо get_query_var() использует get_queried_object_id()