Jeg tror faktisk du har et PHP-problem. Når du gør array($results_separated) du opretter dybest set et array ud fra en streng, der ser sådan ud:"12,114,56," . Ved at gøre det opretter PHP et array som dette:
array(
0 => "12,114,56,"
)
Og WordPress kan naturligvis ikke finde nogen indlæg med et sådant ID! Det, du ønsker, er faktisk et array som dette:
array(
0 => "12",
1 => "114",
2 => "56"
)
Og det er faktisk hvad get_col() returnerer, så du skal blot sende $results til set() funktion:
$query->set ( 'post__in', $results );
REDIGER :Faktisk indså jeg, at dit problem er, når du kalder $wpdb->get_col(...) , fordi det forstyrrer $query du vil udføre senere... Disse variabler bruger nogle andre globale variabler, der sandsynligvis bliver tilsidesat, og det er derfor, du ikke får nogen resultater...