web-dev-qa-db-fra.com

WooCommerce comment vérifier si la page est_shop () dans functions.php?

Dans WooCommerce , la page Ma liste de catégories et la page de liste de produits sont générées à partir de archieve-product.php (Par défaut). Comment vérifier si la page is_shop () dans functions.php ? Comme la fonction is_shop ne fonctionne pas dans functions.php. Je veux simplement supprimer ma barre latérale de la liste des catégories page non de la page de liste des produits.

5
kd patel

Vous pouvez écrire une condition dans "archive-product.php" pour la page de catégorie comme,

    $cate = get_queried_object();
    if(is_product_category()  && $cate->parent != 0 ){

         // Write code here
         //include sidebar here
    }

En utilisant ce code, cela va vérifier la page pour product_category et aussi pour rechercher un parent.

1
Mukesh Ram

Vous pouvez utiliser function_exists

if( function_exists("is_shop") ) {
    // call it or do something else
}
else {
    // load it from somewhere
}

Documents officiels: https://secure.php.net/function_exists

2
Cfreak

Une fois placé dans un crochet, is_shop fonctionnera dans functions.php

add_action( 'template_redirect', 'custom_template_redirect' );

function custom_template_redirect() {

    if( is_shop() ) :

         // code logic here

    endif;    
}

Voici une liste de tous Conditions WooCommerce

2
Anand Shah