sql >> Database >  >> RDS >> Mysql

Geef ID's door aan pre_get_posts-query in functie

Ik denk dat je eigenlijk een PHP-probleem hebt. Wanneer u array($results_separated) . doet je maakt in feite een array van een string die er als volgt uitziet:"12,114,56," . Door dat te doen, maakt PHP een array zoals deze:

array(
    0 => "12,114,56,"
)

En uiteraard kan WordPress geen berichten met zo'n ID vinden! Wat je wilt is eigenlijk een array als deze:

array(
    0 => "12",
    1 => "114",
    2 => "56"
)

En eigenlijk is dat wat get_col() retourneert, dus je hoeft alleen maar $results door te geven naar set() functie:

$query->set ( 'post__in', $results );

BEWERKEN :Eigenlijk realiseerde ik me dat je probleem is wanneer je $wpdb->get_col(...) aanroept , omdat het de $query . verstoort u zult later uitvoeren... Die variabelen gebruiken enkele andere globale variabelen die waarschijnlijk worden overschreven, en daarom krijgt u geen resultaten...



  1. mysql-query toont meerdere tabellen uit één ID-kolom

  2. Python 3.2-script om verbinding te maken met lokale MySQL-database

  3. Back-up/herstel van SQL Server versus loskoppelen/bijvoegen

  4. Jetty 7 + MySQL-configuratie [java.lang.ClassNotFoundException:org.mortbay.jetty.webapp.WebAppContext]