it-swarm.com.de

Erkennen, ob eine Seite eine Produktunterkategorieseite ist?

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";
}
2
user1231561

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()

5
Sumit