आप जैसे पहले कई काम की उम्मीद करेंगे:
= equals
!= does not equal
> greater than
>= greater than or equal to
< less than
<= less than or equal to
LIKEऔर NOT LIKESQL ऑपरेटर हैं जो आपको वाइल्ड-कार्ड प्रतीकों में जोड़ते हैं, इसलिए आप एक मेटा क्वेरी हो सकते हैं जो इस तरह दिखती है:
array(
'key' => 'name',
'value' => 'Pat',
'compare' => 'LIKE'
)
यह उन सभी पदों को लौटाएगा जहां मेटा मान "नाम" में स्ट्रिंग "पैट" है। इस मामले में, "पैट" "पेट्रीसिया" और "पैट्रिक" सभी को आपके पास वापस लौटा दिया जाएगा। यहां एक गैर-वर्डप्रेस ट्यूटोरियल स्पष्टीकरण है ।
वाइल्डकार्ड वर्ण जोड़ना %आवश्यक नहीं है, क्योंकि यह डिफ़ॉल्ट रूप से जुड़ जाता है जैसे @ हर्फ ने अपने नीचे दिए गए उत्तर में कहा । इस तरह: $meta_value = '%' . like_escape( $meta_value ) . '%';- स्रोत देखें ।
INऔर NOT INदिए गए सरणी में (या नहीं) में होने वाले किसी भी मैच का चयन करें। तो आप ऐसा कुछ कर सकते हैं:
array(
'key' => 'color',
'value' => array('red', 'green', 'blue')
'compare' => 'IN'
)
और यह उन सभी पोस्टों को प्राप्त करेगा, जिनका रंग लाल, हरा या नीला है। Using NOT IN ’के प्रयोग से उल्टा हो जाता है, ऐसी कोई भी पोस्ट जिनके पास ऐरे में क्या है इसके अलावा किसी और चीज़ के लिए एक मूल्य निर्धारित है।
इसके लिए उत्पन्न SQL कुछ इस तरह दिखाई देगी:
SELECT * FROM posts_meta WHERE value IN ("red", "green", "blue")
BETWEENऔर NOT BETWEENआपको उन मानों की एक सीमा को परिभाषित करने की अनुमति देता है, जो सही हो सकते हैं, और आपको अपने मेटा_क्वेरीज़ में एक सरणी में दो मान देने की आवश्यकता होती है:
array(
'key' => 'price',
'value' => array(20,30)
'compare' => 'BETWEEN'
)
यह आपको उन सभी पोस्टों में मिलेगा जहां कीमत 20 और 30 के बीच है। यह व्यक्ति तारीखों के साथ एक उदाहरण में खोदता है।
NOT EXISTSयह वैसा ही है जैसा लगता है - मेटा मान सेट नहीं है या शून्य मान पर सेट है। आपको उस क्वेरी के लिए कुंजी और तुलना ऑपरेटर चाहिए:
array(
'key' => 'price',
'compare' => 'NOT EXISTS'
)
इस व्यक्ति को गैर-मौजूद मेटा मान क्वेरी करने की आवश्यकता थी, और उन्हें दूसरों के साथ अच्छा खेलने की आवश्यकता थी।
उम्मीद है की यह मदद करेगा!
meta_queryसरणी का उपयोग कर रहे हैं , तो आपकी कुंजियों के साथ उपसर्ग नहीं होना चाहिएmeta_। यदि आप आदि का उपयोग कर रहे हैं$query->meta_key,$query->meta_valueतो ये अभी भी उपसर्ग को बनाए रखना चाहिए।