Я в недоумении, почему мой запрос не работает должным образом.
У меня есть переменная $id_list
, которая печатает список идентификаторов сообщений, которые я хочу показать.
$ id_list - это список идентификаторов записей через запятую. Он преобразуется из массива идентификаторов записей, выбранных на странице параметров ACF.
Массив:
Array (
[0] => Array ( [center_post] => 23836 )
[1] => Array ( [center_post] => 23716 )
[2] => Array ( [center_post] => 3344 )
)
Код для преобразования массива в разделенный запятыми список:
$centre_arr = get_field('centre_posts', 'option');
$final = "";
foreach($centre_arr as $innerarray){
foreach($innerarray as $id){
$final .= $id.", ";
}
}
$id_list = substr($final,0,-2);
Когда я echo $id_list;
, я получаю список идентификаторов через запятую, например, '23836, 23716, 3344'. Если я вставлю этот вывод непосредственно в запрос, чтобы заменить $id_list
, то все будет работать нормально.
Мой запрос WordPress выглядит так:
<?php
$args = array(
'posts_per_page' => -1,
'post_type' => array('features', 'reviews'),
'orderby' => 'post__in',
'post__in' => array( $id_list )
);
$the_query = new WP_Query( $args );
?>
Это только возврат первого сообщения в массив и ничего другого.
Но если я вставлю возвращенный текст из $id_list
в массив, я получу все сообщения, возвращенные из запроса, как и ожидалось.
Я попытался отобразить запрос, но это не работает.