2016-03-24 11 views
5

मैं उपलब्धता की 3 स्थितियों का उपयोग करता हूं: 'स्टॉक में', 'स्टॉक से बाहर' और 'बैकॉर्डर्स की अनुमति'। मैं निर्यात उत्पादों को चाहता हूं जो एक्सएमएल में केवल 'स्टॉक में' स्थिति है। समस्या यह है कि Woocommerce दोनों स्थितियों के लिए मूल्य "instock" देता है: 'स्टॉक में' और 'बैकॉर्डर्स के लिए अनुमति दें'। अब क्वेरी लगता है कि: 'instock' और 'backorders_allowed' स्थितियों के साथस्टॉक स्थिति के लिए Woocommerce उत्पाद क्वेरी

उत्पादों
$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(); 

और यह निर्यात। शायद 'backorders_allowed' वाले उत्पादों को बाहर करने का तरीका है।

उत्तर

4

आपके पास एकाधिक मेटा_क्विरी फ़िल्टर हो सकते हैं। देखें (http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters)। डिफ़ॉल्ट रूप से इन फ़िल्टरों के बीच संबंध है और जो ठीक है। आप _back_order = no के लिए एक फ़िल्टर जोड़ सकते हैं।

$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

आपको बहुत बहुत धन्यवाद! यह काम करता हैं! –

संबंधित मुद्दे