मुझे लगता है कि आपके पास वास्तव में एक 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 . के साथ हस्तक्षेप कर रहा है आप बाद में निष्पादित करेंगे... वे चर कुछ अन्य वैश्विक चरों का उपयोग कर रहे हैं जो संभवत:अतिव्यापी हो जाते हैं, और इसलिए आपको कोई परिणाम नहीं मिल रहे हैं...