Produits WP_Query Woocommerce appartenant à plusieurs catégories distinctes uniquement tax_query
Je suis en utilisant WP_Query
pour Thème les produits dans la tentative de requête de produits dans une catégorie particulière. C'est la syntaxe qui a fonctionné pour moi -
$args = array(
'posts_per_page' => -1,
'product_cat' => 'category-slug-here',
'post_type' => 'product',
'orderby' => 'title',
);
$the_query = new WP_Query( $args );
//The Loop
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '' . get_the_title() . '<br /><br />';
}
wp_reset_postdata();
Cela renvoie des données, mais je veux passer un ID, pas un slug de la catégorie, pour le filtre et je veux trouver des produits qui n'existent dans de multiples catégories seulement.
L'argument product_cat
n'est pas natif de WP_Query
(à moins que j'ai pu trouver), donc je suppose que c'est quelque chose de personnalisé à Thème. Par le biais de leur documentation, je n'ai pas été en mesure de trouver quelque chose qui me permettra de filtrer la recherche par ID de la catégorie, ni d'en utiliser un ET de l'état pour ce filtrage.
À l'aide de cat
le tableau de tax_query
et category__and
n'ont pas donné de résultats. Essentiellement, je voudrais l'interroger tous les produits qui existent dans les deux ID de la catégorie de 102 et 115. Si je dois utiliser les limaces, je suis sûr qu'il y est un moyen d'obtenir des infos en fonction de l'ID que j'ai, mais j'aimerais éviter de 2 requêtes pour filtrer par catégories multiples.
Personne ne sait comment faire cela?
Mise à JOUR: j'ai appris que la séparation de la catégorie des limaces par des virgules dans le product_cat
argument va produire un "OU" d'effet, de sorte qu'il sera de combiner les différents produits à la fois, mais ce n'est pas ce que je recherche. Ainsi, par exemple:
'product_cat' => 'category-slug1, category-slug2'
sera de retour des produits à partir de ces deux catégories dans le total, mais je suis toujours à la recherche d'une façon de trouver des produits distincts qui appartiennent à deux ou plusieurs catégories.
source d'informationauteur RCNeil
Vous devez vous connecter pour publier un commentaire.
Wow, donc après des heures de cogner ma tête, c'est comment j'ai pu résoudre ce -
Cela prend avantage de la
tax_query
argument, y compris larelation => 'AND'
assurez-vous que le produit tombe sous les DEUX catégories.Espère que cela aide quelqu'un dans l'avenir.
J'ai aussi été pas en mesure de comprendre comment passer d'un ID, plutôt qu'une limace (même si je suis sûr qu'il y a une façon), mais voici la fonction pour récupérer le slug basée sur une ID:
De requête par category_ID c'est ce qui a fonctionné pour moi.
Du codex WordPress sur
WP_Query
pour la Catégorie Paramètres:équivalent de OU
équivalent de ET
par exemple
À l'intérieur d'un 'tax_query' du tableau d'ensemble que vous pouvez spécifier un "opérateur" pour être exécuté sur la requête. Vous pouvez obtenir ce que vous voulez en utilisant le 'ET' opérateur.
Tous les produits sélectionnés par cette requête va correspondre à la condition "termes". Voir ce lien pour plus d'info: https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
Dans le cas où le lien tombe, voici les informations pertinentes: