it-swarm.com.de

WP Abfrage - Holen Sie sich WooCommerce-Produkte mit einer Variation, die auf Lager ist

Ich gründe ein Bekleidungsgeschäft. Die Kleidung ist variabel und basiert auf der Größe (xs, s, m, l, xl usw.). Ich versuche Filter zu erstellen, um Produkte anzuzeigen, die auf Lager sind, basierend auf einem Filter. Wenn Sie also auf den Filter "xs" klicken, werden Produkte mit der XS-Variation und der Variation auf Lager angezeigt.

Bisher habe ich so etwas:

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

Ich weiß jetzt, dass es nach "outofstock" sucht, aber das war nur ein Test, und selbst dies kommt bei keinem Produkt vor, obwohl ich einige Produkte mit einigen Größen nicht vorrätig erstellt habe.

1
Jordan Carter

Ist das nicht richtig?

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

Ihr $ query_args ist ein kaputtes Array

2
neurocore

Sie müssen Ihre tax_query ändern. Die xs ist nicht der term_id, sondern die slug

So wird Ihre tax_query am Ende wie

'tax_query' => array(
    array(
       'taxonomy' => 'pa_sizes',
       'field' => 'slug',
       'terms' => 'xs'
    )
 )

Ich würde gerne auch beim "instock" -Problem helfen, aber ich bin auch bei dieser Frage festgefahren.

2
Orestis Samaras