Страница настроек темы WordPress query_posts - PullRequest
0 голосов
/ 24 ноября 2010

Я занят созданием небольшой страницы опций темы для одного из клиентов и мне нужна помощь в решении проблемы.

В настоящее время у меня есть возможность вручную добавить IDS страниц WordPress для извлечения данных с помощью query_posts

на основе параметров темы создает переменную с именем $euro_box_1_vehicles;

мои параметры заполняются как 32,39,43,54 на входе, и когда я печатаю это утверждение с помощью echo, я получаю тот же результат.

Когда я просто заменяю array(32,39,43,45) на array($euro_box_1_vehicles), возвращается только один результат.

<?php
    $vehicle1 = array(
        'post__in' => array(32,39,43,45),
        'post_type' => 'page',
    );

    query_posts( $vehicle1 ); 
    while (have_posts()) : the_post(); 
?>

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

Когда я передаю эхо var_dump = string (11) "32,39,43,45"

В этом случае вам нужно взорваться $vehicle1, поскольку post__in ожидает массив;

query_posts(array(
    'post_type' => 'page',
    'post__in' => @explode(',', $vehicle1)
));
1 голос
/ 24 ноября 2010

Обновление

Когда я просто заменяю массив (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(); 
?>
...