WooCommerce: проверьте, имеет ли подкатегория определенную c родительскую категорию - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу отображать контент на основе текущей категории и ее родительской категории. Для этого мне нужно знать, является ли текущая категория подкатегорией определенной c родительской категории.

Например, это мои категории:

  1. Автомобили
    • Спортивные автомобили
      • Итальянские спортивные автомобили
  2. Велосипеды
    • Dirtbikes
      • Японские мотоциклы

Теперь я хочу отображать содержимое каждого архива категорий в дереве категорий. Например, в автомобилях, спортивных автомобилях и итальянских спортивных автомобилях.

Для первой категории я могу использовать условный тег от WooCommerce:

is_product_category( 'cars' )

Но in_product_category() нет. Так что я не смог проверить, относится ли категория "итальянские спортивные автомобили" к "Cars".

Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 21 февраля 2020

Получите родительскую категорию вашей категории, используя приведенный ниже код.

$parentcats = get_ancestors($product_cat_id, 'product_cat');

Вы получите одну или несколько родительских категорий в виде массива и l oop над ним, чтобы получить значение, как показано ниже:

foreach($parentcat in $parentcats){
    echo $parentcat;
}

Затем вы можете сравнить его с вашей "Specifi c Категория", используя ЕСЛИ УСЛОВИЯ, и делать то, что вы хотите.

0 голосов
/ 20 февраля 2020

Можно проверить свойство родительской категории в объекте дочерней категории. Дочерняя категория имеет родительское свойство, которое содержит идентификатор своей родительской категории. В вашем случае объект термина 'итальянские спортивные автомобили' будет иметь родительское свойство, указывающее на идентификатор термина 'Автомобиль'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...