wake-up-neo.net

Wie kann ich in WooCommerce nur nach Produkten mit dem Status "auf Lager" suchen?

Ich versuche, eine Abfrage zu erstellen, die nur Produkte zurückzieht, die innerhalb einer bestimmten Produktkategorie auf Lager sind.

Hier ist mein Arbeitscode, in dem ich alle Artikel in der Kategorie zurückziehe und sie dann durchlaufen muss, bis ich sicher bin, dass einer verfügbar ist.

function CheckCategoryStock( $catToCheck ) {

    $args = array(
        'posts_per_page' => -1,
        'post_type'      => 'product',
        'hide_empty'     => 1,        
        'product_cat'    => $catToCheck,
    );

    $query = new WP_Query( $args );

    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post();
            global $product;
            if ( $product->is_in_stock() ) {
                $catCounter = 0;
                return 1;
            }        
        endwhile;
    }    

    return 0;

}    

Das funktioniert auf diese Weise, aber manchmal ist der Code langsam, weil er eine Reihe von Produkten durchlaufen muss, bevor er eines findet, das auf Lager ist.

1
user116737

Das hat super geklappt!

Soeben hinzugefügt:

        'meta_query' => array(
        array(
            'key' => '_stock_status',
            'value' => 'instock',
            'compare' => '=',
        )
    )      

Vielen Dank!

5
user116738