मुझे लगता है कि आपके पास वास्तव में एक PHP समस्या है। जब आप array($results_separated)
. करते हैं आप मूल रूप से एक स्ट्रिंग से एक सरणी बना रहे हैं जो इस तरह दिखती है:"12,114,56,"
. ऐसा करने से, PHP इस तरह एक सरणी बना रहा है:
array(
0 => "12,114,56,"
)
और जाहिर तौर पर वर्डप्रेस को ऐसी आईडी वाली कोई पोस्ट नहीं मिल सकती है! आप जो चाहते हैं वह वास्तव में इस तरह की एक सरणी है:
array(
0 => "12",
1 => "114",
2 => "56"
)
और असल में get_col()
रिटर्न, इसलिए आपको बस $results
. पास करना होगा करने के लिए set()
समारोह:
$query->set ( 'post__in', $results );
संपादित करें :वास्तव में मुझे एहसास हुआ कि आपकी समस्या तब है जब आप $wpdb->get_col(...)
पर कॉल करते हैं , क्योंकि यह $query
. के साथ हस्तक्षेप कर रहा है आप बाद में निष्पादित करेंगे... वे चर कुछ अन्य वैश्विक चरों का उपयोग कर रहे हैं जो संभवत:अतिव्यापी हो जाते हैं, और इसलिए आपको कोई परिणाम नहीं मिल रहे हैं...