Обновление
Когда я просто заменяю массив (32,39,43,45) на массив ($ euro_box_1_vehicles), он возвращает только один результат.
Разве вы не должны заменить array(32,39,43,45)
на $euro_box_1_vehicles
, а не array($euro_box_1_vehicles
)? Последнее, похоже, создаст вложенный массив с одним аргументом, то есть массивом (массив (32,39,43,45)). Что не то, что вы хотите.
Старый ответ ....
Если я правильно вас понял, то query_posts () ожидает список идентификаторов? (32,39,43,45)
Но когда вы передаете его $ vehicle1, вы указываете не список идентификаторов, а двумерный массив.
<?php
$vehicle1 = array(
'post__in' => array(32,39,43,45),
'post_type' => 'page',
);
query_posts( $vehicle1['post_in'] ); //use sub-array that contains list
while (have_posts()) : the_post();
?>