Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Passar IDs para consulta pre_get_posts na função


Eu acho que você tem realmente um problema de PHP. Quando você faz array($results_separated) você está basicamente criando um array a partir de uma string parecida com esta:"12,114,56," . Ao fazer isso, o PHP está criando um array como este:
array(
    0 => "12,114,56,"
)

E obviamente o WordPress não consegue encontrar nenhum post com esse ID! O que você quer na verdade é um array como este:
array(
    0 => "12",
    1 => "114",
    2 => "56"
)

E, na verdade, é isso que get_col() retorna, então você só precisa passar $results para set() função:
$query->set ( 'post__in', $results );

EDITAR :Na verdade, percebi que seu problema é quando você chama $wpdb->get_col(...) , porque está interferindo no $query você executará mais tarde... Essas variáveis ​​estão usando algumas outras variáveis ​​globais que provavelmente são substituídas, e é por isso que você não está obtendo nenhum resultado...