Escludere una o più categorie di prodotto, dal loop di WooCommerce

Funzione PHP molto semplice per escludere dal vostro e-commerce WooCommerce una o più categorie dal loop di default del negozio.

Molto comodo se non volete che certi prodotti vengano fuori, rispetto a quelli di default.

Qui andremo ad alterare la query principale di WordPress usando "pre_get_posts"

/**
 * Escudi una certa categoria dal loop di prodotti di WooCommerce
 */
function mm_esclude_category_shop_loop( $query ) {

    // Se non è l'area admin e non è la query princiaple del loop
    if ( is_admin() || ! $query->is_main_query()) {
        return;
    }

    // Se è la pagina dello shop o siamo nella'archivio della pagina della categoria
    if ( is_shop() || is_product_category() ) {

        // Inserisco in questo array le categorie da escludere
        $escludi_categorie = array( 
            'categoria-da-escludere' 
        );
        $query->set( 'tax_query', array(
            array(
                'taxonomy' => 'product_cat',
                'field' => 'slug',
                'terms' => $escludi_categorie,
                'operator' => 'NOT IN',
            )
        ));
    }
}
add_action( 'pre_get_posts', 'mm_esclude_category_shop_loop' );

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *