Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

फ़ंक्शन में pre_get_posts क्वेरी के लिए आईडी पास करें

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql सरणी सहेजें php

  2. नोड MySQL एस्केप LIKE स्टेटमेंट

  3. MySQL IN कंडीशन लिमिट

  4. लार्वेल 4 में सम्मिलित क्वेरी संग्रहीत कार्यविधि में पैरामीटर पास करें

  5. स्पार्क SQL और MySQL- SaveMode। संशोधित डेटा सम्मिलित नहीं करना अधिलेखित करना