Cum să interoghezi doar produsele cu stocul „disponibil” în WooCommerce?

2 apr. 2017, 04:51:36
Vizualizări: 17.1K
Voturi: 6

Încerc să construiesc o interogare care să returneze doar produsele disponibile în stoc dintr-o anumită categorie de produse.

Mai jos este codul meu funcțional care preia toate articolele din categorie și apoi trebuie să le parcurg până găsesc unul care este în stoc.

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;

}    

Această metodă funcționează, dar uneori codul este lent deoarece trebuie să parcurgă mai multe produse înainte de a găsi unul disponibil în stoc.

1
Comentarii

Uită-te la asta, poate te poate ajuta: Interogare pentru postări din orice tip de postare, dar adaugă doar produsele disponibile în stoc

flomei flomei
2 apr. 2017 05:06:06
Toate răspunsurile la întrebare 1
1
13

A funcționat perfect!

Tocmai am adăugat asta:

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

Mulțumesc!

2 apr. 2017 05:19:09
Comentarii

Mă bucur că a funcționat pentru tine. Dacă marchezi acest post ca răspuns valid la întrebarea ta, asta ar ajuta statisticile pentru "întrebări fără răspuns". ;-D Și pe lângă asta, oamenii vor vedea că ar putea găsi o soluție pentru problema lor aici.

flomei flomei
3 apr. 2017 00:09:48