Je crée un magasin de vêtements. Les vêtements sont des produits variables en fonction de la taille (xs, s, m, l, xl, etc.). J'essaie de créer des filtres pour afficher les produits en stock, basés sur un filtre. Ainsi, en cliquant sur le filtre "xs", vous devriez voir les produits qui ont tous les deux la variation XS et ont cette variation en stock.
Jusqu'à présent, j'ai quelque chose comme ça:
$query_args = array(
'post_type' => 'product', 'product_variation',
'posts_per_page' => 12,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'pa_sizes',
'field' => 'term_id',
'terms' => 'xs',
),
),
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => '='
),
)
);
$query = new WP_Query($query_args);
Je sais qu’à l’heure actuelle, on cherche "outofstock" mais c’était juste un test, et même cela n’arrive avec aucun produit, même si j’ai créé des produits avec des tailles en rupture de stock.
Ce chemin n'est-il pas correct?
'post_type' => array('product', 'product_variation'),
Votre tableau $ query_args est cassé
Vous devrez changer votre tax_query. La xs
n'est pas le term_id
mais la slug
Donc, votre tax_query finira par être comme
'tax_query' => array(
array(
'taxonomy' => 'pa_sizes',
'field' => 'slug',
'terms' => 'xs'
)
)
J'aimerais aider avec le problème "instock" aussi, mais je suis coincé avec cette question aussi.