wake-up-neo.net

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