Je sais que beaucoup de gens ont posé cette question mais je n’ai pas trouvé le moyen de le faire. Comment ajouter une meta_query simple (product_cat) avant l'exécution de la requête de la page de magasin.
Peut-être en utilisant un filtre?
Cordialement,
Adrien
La page de la boutique est en fait une page d’archive pour les articles de type 'produit'. Son modèle est dans woocommerce/archive-product.php.
Vous devez utiliser l’action pre_get_posts pour pré-traiter la requête avant la boucle, conditionnel_tags pour reconnaître que vous vous trouvez dans la page d’archive du produit et une requête taxonomie pour filtrer les catégories de produits, qui appartenir à la taxonomie 'product_cat'.
Par exemple, ce qui suit (placé dans le functions.php de votre thème ou dans un plugin) affichera uniquement les produits de la catégorie de produit 'type-1':
add_action('pre_get_posts','shop_filter_cat');
function shop_filter_cat($query) {
if (!is_admin() && is_post_type_archive( 'product' ) && $query->is_main_query()) {
$query->set('tax_query', array(
array ('taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'type-1'
)
)
);
}
}
Vous pouvez également exclure des catégories en utilisant 'operator' => NOT IN, et 'terms' peut être un tableau de slugs de catégories de produits.
Une bonne introduction à la personnalisation des requêtes est http://www.billerickson.net/customize-the-wordpress-query/
Cela a fonctionné pour moi:
[product_category category="YOUR CATEGORY" per_page="8" columns="3" orderby="date" order="desc"]