web-dev-qa-db-fra.com

Supprimer les produits enfants de la page de catégorie woocommerce

J'ai un modèle de taxonomie qui affiche les produits des termes parents et enfants, comment puis-je afficher uniquement les produits appartenant aux termes parents?

J'essaie de modifier en quelque sorte cette partie du code:

            <?php woocommerce_product_subcategories(); ?>

            <?php while ( have_posts() ) : the_post(); ?>

                <?php wc_get_template_part( 'content', 'product' ); ?>

            <?php endwhile; // end of the loop. ?>

        <?php woocommerce_product_loop_end(); ?>

et comment puis-je afficher uniquement les produits appartenant à la taxonomie actuelle?

1
Yury Zheve

vous souhaitez afficher uniquement les produits de catégorie parent et supprimer les produits de catégorie enfant. Ajoutez les lignes de code suivantes à la fin de le fichier functions.php de votre thème.

function exclude_product_cat_children( $wp_query ) {
    if ( isset( $wp_query->query_vars['product_cat'] ) && $wp_query->is_main_query() ) {
        $wp_query->set( 
            'tax_query', array( array (
                'taxonomy' => 'product_cat',
                'field' => 'slug',
                'terms' => $wp_query->query_vars['product_cat'],
                'include_children' => false
            ) )
        );
    }
}  
add_filter('pre_get_posts', 'exclude_product_cat_children');
2
Jignesh Patel