web-dev-qa-db-fra.com

WP Query - Obtenez des produits WooCommerce avec une variation disponible en stock

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.

1
Jordan Carter

Ce chemin n'est-il pas correct?

'post_type' => array('product', 'product_variation'),

Votre tableau $ query_args est cassé

2
neurocore

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.

2
Orestis Samaras