Wie kann ich erkennen, ob die aktuelle Seite eine Produktunterkategorieseite ist?
Ich habe Folgendes versucht, aber es wird immer "NEIN" ausgegeben
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()
prüft nur die eingebaute Beitragskategorie. Produktkategorien sind benutzerdefinierte Taxonomien. Sie müssen also is_tax()
anstelle von is_category()
und get_term()
anstelle von get_category()
verwenden.
Überprüfen Sie dieses Beispiel: -
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;
}
Auch sichere Seite anstelle von get_query_var()
benutze get_queried_object_id()