WP REST API: श्रेणी 1 और श्रेणी 2 के अनुसार फ़िल्टर करें


12

मैं REST API के साथ मैडलिंग कर रहा हूं और मैं इसके साथ अटका हुआ हूं: मैं cat1 और cat2 दोनों में पोस्ट कैसे फ़िल्टर कर सकता हूं?

अभी के लिए, ?categories[]=45&categories[]=50श्रेणी आईडी 45 या 50 में रिटर्न - मैं 45 और 50 में कैसे पद पा सकता हूं?

अग्रिम में धन्यवाद।


क्या आपने इसके लिए कोई हल ढूंढा है?
कोरी

@ कोरी: नोप्स। लगता है कि यह संभव नहीं है, अब के रूप में (कुछ अन्य प्लगइन समर्थन पदों का दावा है कि) मैं Ionic के साथ एक अनुप्रयोग के लिए एपीआई का उपयोग कर रहा था, मैंने उन्हें अलग से लोड किया और इसके बजाय प्रतिच्छेद किया। इसे खुला छोड़ देना, यदि मेरी शिक्षा अधूरी है। कहीं पढ़ा था जहां इसे प्राप्त करने के लिए प्लगिन को संपादित किया गया (बिल्कुल अनुशंसित नहीं)।
जेसी पी फ्रांसिस

जवाबों:


6

कई श्रेणियों को नीचे की तरह अल्पविराम द्वारा अलग किया जा सकता है

http://example.com/wp-json/wp/v2/posts?categories=20,30

उम्मीद है की यह मदद करेगा


अनुरोध AND खोज के लिए है, यह आपको OR देगा।
टॉम वुडवर्ड

6

@ जेसे देखें: WP-API / WP-API # 2990

WP 4.7 के बाद filterसे, WP-API से हटा दिया गया है।

आपको इस प्लगइन का उपयोग करने की आवश्यकता है: https://github.com/WP-API/rest-filter


1
एक वैकल्पिक प्लगइन github.com/bueltge/wp-rest-api-filter-items जिनका ठोस रखरखाव के लिए परीक्षण होता है, शामिल हैं।
6

@ ब्यूल्टज, दिलचस्प। मैं वर्तमान में रेस्ट-एपी-फिल्टर-फील्ड प्लगइन का उपयोग करता हूं : github.com/svrooij/rest-api-filter-fields , जो एक ही चीज़ के बारे में करता हुआ दिखता है।
ऑस्टिन पासी

1

आपको निम्नलिखित का उपयोग करके कई श्रेणियों तक पहुंचने में सक्षम होना चाहिए:

http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50

उम्मीद है की वो मदद करदे!

चियर्स


काम करने के लिए प्रतीत नहीं होता है! :)
जेसी पी फ्रांसिस

1

ऑस्टिन द्वारा उल्लिखित फ़िल्टर प्लगइन स्थापित करें ( https://github.com/WP-API/rest-filter ) और कोशिश करें ?filter[categories]=cat_one_slug%2Bcat_two_slug

मुझे पता चला कि %2Bयह +प्रतीक के बराबर कोड है ।

आम तौर पर हम +AND ऑपरेटर के लिए उपयोग करते हैं लेकिन दुर्भाग्य से यह एक स्थान में परिवर्तित हो जाता है इसलिए %2Bइसके बजाय उपयोग करें ।


1

API के वर्तमान संस्करण में ऐसा करने का कोई तरीका प्रतीत नहीं होता है। एक प्लगइन का उपयोग किए बिना, यह कस्टम समापन बिंदु के साथ या विशिष्ट पद प्रकार के लिए आराम क्वेरी फ़िल्टर फ़ंक्शन का उपयोग करके प्राप्त किया जा सकता है ।

यहां एक रफ फिल्टर फंक्शन है जो एक पैरामीटर जोड़ता है जिसे cat_relation:

add_filter( 'rest_post_query', function( $args, $request ) {
    if($request['cat_relation'] == 'AND') {
        $args['category__and'] = $request['categories'];
    }
    return $args;
}, 10, 2);

तो एक उदाहरण अनुरोध URL होगा:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND



-1

रेस्ट एपीआई v3 का उपयोग करने वालों के लिए, यह मेरे लिए काम करता है:

http://example.com/wp-json/wc/v3/products/?category=42,43

यह उत्पादों और उत्पाद श्रेणियों के लिए WooCommerce REST API है। सवाल वर्डप्रेस रीस्ट एपीआई के साथ पोस्ट और पोस्ट श्रेणियों के बारे में था।
जैकब पीटी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.