2010-11-24 155 views
0

我正忙于为其中一个客户构建小型主题选项页面,并且需要一些帮助解决问题。Wordpress主题选项页面query_posts

目前我有手动将在IDS WordPress网页的选项与基于主题的选择是query_posts

提取数据,创建一个名为$euro_box_1_vehicles;

可变我的选择填充为32,39,43,54中输入,当我用echo打印这个语句时,我得到了相同的结果。

当我用array($euro_box_1_vehicles)替换array(32,39,43,45)时,它只返回一个结果。

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

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

尝试`var_dump($ euro_box_1_vehicles)`并让我们知道打印内容。 – TheDeadMedic 2010-11-24 14:48:56

+0

当我回显var_dump = string(11)“32,39,43,45” – ApPeL 2010-11-24 15:56:11

回答

2

当我回声的var_dump =串(11) “32,39,43,45”

在这种情况下,就需要explode$vehicle1,由于post__in期望的阵列;

query_posts(array(
    'post_type' => 'page', 
    'post__in' => @explode(',', $vehicle1) 
)); 
1

更新

当我刚刚更换阵列阵列(32,39,43,45)($ euro_box_1_vehicles)它只返回一个结果。

你不应该用$euro_box_1_vehiclesarray($euro_box_1_vehicles取代array(32,39,43,45))?后者似乎会用一个参数构成一个嵌套数组,即数组(array(32,39,43,45))。这不是你想要的。


老答案....

如果我读了你的权利,然后query_posts()预计ID列表? (32,39,43,45)

但是,当你通过它$ vehicle1你没有给它一个ID列表,而是一个2维数组。

<?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(); 
?>