Mysql
 sql >> Database >  >> RDS >> Mysql

Passa gli ID alla query pre_get_posts in funzione

Immagino che tu abbia effettivamente un problema con PHP. Quando esegui array($results_separated) stai fondamentalmente creando un array da una stringa che assomiglia a questa:"12,114,56," . In questo modo, PHP sta creando un array come questo:

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

E ovviamente WordPress non riesce a trovare alcun post con tale ID! Quello che vuoi è in realtà un array come questo:

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

E in realtà è quello che get_col() restituisce, quindi devi solo passare $results a set() funzione:

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

MODIFICA :In realtà mi sono reso conto che il tuo problema è quando chiami $wpdb->get_col(...) , perché interferisce con la $query eseguirai in seguito... Quelle variabili utilizzano altre variabili globali che probabilmente vengono sovrascritte, ed è per questo che non ottieni alcun risultato...