2013-06-20 6 views
0

Я хочу получить сообщения с помощью массива ID. У меня есть этот массивНе удается получить данные из WP_Query

Array ([0] => 40 [1] => 25) 

И это мой код:

$query = WP_Query(array("p" => myCourseId())); 

, но он не работает. Какая ошибка?

Новый код

$ids = myCourseId(); 

// The Loop 

$query = WP_Query(array("post__in" => $ids)); 

myCoureID() возвращает Arry как первый я написал

+1

Что находится в 'myCourseId()'? – jterry

+0

извините, myCourseId вернул первый массив, который я написал – DxW

+1

http://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters - вы хотите 'post__in'. – jterry

ответ

0

Try:

$myArrayOfIds = array(40, 25); 
$query = WP_Query(array("post__in" => myArrayOfIds)); 
+0

не работает $ ids = myCourseId(); \t \t \t \t // Петля \t \t \t \t $ запрос = WP_Query (массив ("post__in" => $ идентификаторы)); – DxW

+0

Пожалуйста, будьте более наглядными - мы пытаемся помочь здесь. Что не работает? Какая ошибка? Вы должны попробовать сделать это без дополнительной функции 'myCourseId()', чтобы упростить эту проблему. Если ваш 'WP_Query (array (" post__in "=> $ ids));' строка не работает, то я ставлю, что ваша переменная '$ ids' не является массивом или является ассоциативным массивом. – dKen

+0

он не работает и без myCourseId() Если я пишу \t \t \t \t $ запрос = новый WP_Query (массив ('post__in' => массив (40));. не Disply ничего – DxW

0

Вы можете попробовать сделать то же самое с get_posts вместо , например:

$ids = array(40,25); 
$args = array(      
    'numberposts' => -1, 
    'posts_per_page' => -1,  
    'orderby'=>'post__in',       
    'post__in'=>$ids 
); 
$query = get_posts($args); 
+0

он не работает! Я не могу понять, почему :( Вот мой код '$ идентификаторы = myCourseId(); \t \t \t \t \t \t \t \t $ арг = массив ( \t \t \t \t«ню mberposts' => -1, \t \t \t \t 'posts_per_page' => -1, \t \t \t \t 'OrderBy' => 'post__in', \t \t \t \t 'post__in' => $ Идентификаторы \t \t \t \t); \t \t \t \t $ query = get_posts ($ args); ' – DxW

+0

Вы пробовали print_r ($ query)? Действительно ли это пусто?Попробуйте добавить 'post_type' ARG, как это: $ арг = массив ( 'numberposts' => -1, 'posts_per_page' => -1, \t 'post_type' => 'после', ' orderby '=>' post__in ', ' post__in '=> $ ids ); И ваша функция myCourseId() должна вернуть массив, подобный этому массиву (40, 25), а не так ([0] => 40 [1] => 25) –

+0

ah ok, проблема в массиве. Огромное спасибо! Последний вопрос, как я могу преобразовать такой массив ([0] => 40 [1] => 25) в совместимый? – DxW

Смежные вопросы