Jag antar att du faktiskt har ett PHP-problem. När du gör array($results_separated)
du skapar i princip en array från en sträng som ser ut så här:"12,114,56,"
. Genom att göra det skapar PHP en array så här:
array(
0 => "12,114,56,"
)
Och uppenbarligen kan WordPress inte hitta några inlägg med ett sådant ID! Vad du vill ha är faktiskt en sådan här array:
array(
0 => "12",
1 => "114",
2 => "56"
)
Och det är faktiskt vad get_col()
returnerar, så du behöver bara skicka $results
till set()
funktion:
$query->set ( 'post__in', $results );
REDIGERA :Jag insåg faktiskt att ditt problem är när du ringer $wpdb->get_col(...)
, eftersom det stör $query
du kommer att köra senare... Dessa variabler använder några andra globala variabler som förmodligen åsidosätts, och det är därför du inte får några resultat...