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' );