Как сделать проверку на категорию и дочерние категории Woocommerce?
Всего на сайте 3 главных категории, у них есть дочерние подкатегории. Цель: вывести в шапке разные лого. Например категория 1 и ее дочерние - 1 лого Категория 2 и дочерние - 2 лого И 3-я так же. Как сделать проверку когда находишься на странице категории? Пробовал условие is_product_category, оно работает только для той категории, которую укажешь, а нужно, чтобы проверяло родительскую категорию и ее дочерние.
Ответы (1 шт):
Чтобы проверить что вы находитесь на странице категории вам нужно использовать ф-цию is_product_category. Чтобы проверить конкретную категоирию:
if ( is_product_category( 10 ) ) { // Эта страница для категории с id - 10.
// Your code.
}
if ( is_product_category( 'awesome-category' ) ) { // Эта страница для категории с slug'ом - awesome-category.
// Your code.
}
Теперь. Чтобы проверить, что это не только текущая категории но и дочерняя, можно использовать функцию term_is_ancestor_of . Для получения id текущего поста или категории используйте функцию get_queried_object_id:
if ( term_is_ancestor_of( 10, get_queried_object_id() ) ) { // Эта категория дочерняя для категории с ID - 10.
// Your code.
}
И теперь все условие вместе:
if ( is_product_category( 10 ) || term_is_ancestor_of( 10, get_queried_object_id() ) ) {
// Your code.
}
https://developer.wordpress.org/reference/functions/is_product_category/ https://developer.wordpress.org/reference/functions/term_is_ancestor_of/ https://developer.wordpress.org/reference/functions/get_queried_object_id/