Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Übergeben Sie IDs an die pre_get_posts-Abfrage in der Funktion

Ich vermute, Sie haben tatsächlich ein PHP-Problem. Wenn Sie array($results_separated) ausführen Sie erstellen im Grunde ein Array aus einer Zeichenfolge, die so aussieht:"12,114,56," . Dadurch erstellt PHP ein Array wie dieses:

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

Und offensichtlich kann WordPress keine Beiträge mit einer solchen ID finden! Was Sie wollen, ist eigentlich ein Array wie dieses:

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

Und genau das ist get_col() zurückgibt, also müssen Sie nur $results übergeben zu set() Funktion:

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

BEARBEITEN :Eigentlich habe ich festgestellt, dass Ihr Problem darin besteht, wenn Sie $wpdb->get_col(...) aufrufen , weil es die $query stört Sie werden später ausführen ... Diese Variablen verwenden einige andere globale Variablen, die wahrscheinlich überschrieben werden, und deshalb erhalten Sie keine Ergebnisse ...