2016-03-24 25 views
5

3 adet stok durumu kullanıyorum: 'stokta var, stokta var' ve 'arka plana izin'. Sadece 'stokta' statüsündeki ihracat ürünlerini XML'e istiyorum. Sorun şu ki, woocommerce, her iki durum için "stok" değerini döndürür: "stokta" ve "arka planlara izin ver". Şimdi sorgu benziyor: 'instock' ve 'backorders_allowed' durumları ileStok durumu için Woocommerce ürün sorgu

$query = array(
    'post_type' => 'product', 
    'posts_per_page' => -1, 
    'meta_query' => array(
     array(
      'key' => '_stock_status', 
      'value' => 'instock' 
     ) 
    ) 
); 
$wp_query = & new WP_Query($query); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 

Ve ihracat ürünleri. Belki de ürünleri 'backorders_allowed' ile dışlama yolu vardır.

cevap

4

Birden çok meta_query filtreniz olabilir. Bakınız (http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters). Varsayılan olarak, bu filtreler arasındaki ilişki AND olan tamamdır. _back_order = no için bir filtre ekleyebilirsiniz.

$query = array(
    'post_type' => 'product', 
    'posts_per_page' => -1, 
    'meta_query' => array(
     array(
      'key' => '_stock_status', 
      'value' => 'instock' 
     ), 
     array(
      'key' => '_backorders', 
      'value' => 'no' 
     ), 
    ) 
); 
$wp_query = & new WP_Query($query); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 
+0

Çok teşekkür ederim! İşe yarıyor! –

İlgili konular