Myslím, že máš ve skutečnosti problém s PHP. Když uděláte array($results_separated)
v podstatě vytváříte pole z řetězce, který vypadá takto:"12,114,56,"
. Tím PHP vytvoří takové pole:
array(
0 => "12,114,56,"
)
A samozřejmě WordPress nemůže najít žádné příspěvky s takovým ID! To, co chcete, je ve skutečnosti takové pole:
array(
0 => "12",
1 => "114",
2 => "56"
)
A vlastně to je to, co get_col()
vrátí, takže stačí předat $results
na set()
funkce:
$query->set ( 'post__in', $results );
UPRAVIT :Vlastně jsem si uvědomil, že váš problém je, když zavoláte $wpdb->get_col(...)
, protože to narušuje $query
provedete později... Tyto proměnné používají nějaké jiné globální proměnné, které pravděpodobně budou přepsány, a proto nedostáváte žádné výsledky...