मैं एक ऐसी परियोजना पर काम कर रहा हूं जिसमें मैं एक कस्टम पोस्ट प्रकार बना रहा हूं और कस्टम डेटा मेरे कस्टम पोस्ट प्रकार से जुड़े मेटा बॉक्स के माध्यम से दर्ज किया गया है। जो भी कारण के लिए मैंने मेटा बॉक्स को इस तरह से कोड करने का फैसला किया है कि प्रत्येक मेटाबॉक्स में इनपुट एक सरणी का हिस्सा हैं। उदाहरण के लिए, मैं देशांतर और अक्षांश का भंडारण कर रहा हूँ:
<p>
<label for="latitude">Latitude:</label><br />
<input type="text" id="latitude" name="coordinates[latitude]" class="full-width" value="" />
</p>
<p>
<label for="longitude">Longitude:</label><br />
<input type="text" id="longitude" name="coordinates[longitude]" class="full-width" value="" />
</p>
जो भी कारण हो, मुझे प्रत्येक मेटाबॉक्स के लिए एक विलक्षण पोस्टमैटा प्रविष्टि होने का विचार पसंद आया। पर save_post
हुक, मैं बचाने डेटा इतना चाहते:
update_post_meta($post_id, '_coordinates', $_POST['coordinates']);
मैंने ऐसा इसलिए किया क्योंकि मेरे पास तीन मेटाबॉक्सेज़ हैं और मुझे प्रत्येक पोस्ट के लिए सिर्फ 3 पोस्टमैटा वैल्यूज़ पसंद हैं; हालाँकि, मुझे अब इसके साथ एक संभावित मुद्दे का एहसास हो गया है। मैं इन मेटा मूल्यों के आधार पर केवल कुछ पोस्ट को बाहर निकालने के लिए WP_Query का उपयोग करना चाह सकता हूं। उदाहरण के लिए, मैं उन सभी पोस्टों को प्राप्त करना चाहता हूं जिनमें अक्षांश मान 50 से ऊपर हो। यदि मेरे पास डेटाबेस में व्यक्तिगत रूप से यह डेटा होता है, तो शायद कुंजी का उपयोग करते हुए latitude
, मैं कुछ ऐसा करूंगा:
$args = array(
'post_type' => 'my-post-type',
'meta_query' => array(
array(
'key' => 'latitude',
'value' => '50',
'compare' => '>'
)
)
);
$query = new WP_Query( $args );
चूँकि मेरे पास _coordinates
पोस्टमैटा के हिस्से के रूप में अक्षांश है , इसलिए यह काम नहीं करेगा।
इसलिए, मेरा प्रश्न meta_query
यह है कि क्या इस परिदृश्य में मेरे जैसे क्रमबद्ध सरणी का उपयोग करने का कोई तरीका है?