Comment détecter si la page en cours est une page de sous-catégorie de produit?
J'ai essayé avec ce qui suit, mais le résultat sera toujours "NON"
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";
}
is_category()
vérifie uniquement la catégorie de publication intégrée. Les catégories de produits sont des taxonomies personnalisées. Vous devez donc utiliser is_tax()
au lieu de is_category()
et get_term()
au lieu de get_category()
.
Vérifiez cet exemple: -
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;
}
Aussi côté sûr au lieu de get_query_var()
, utilisez get_queried_object_id()