Wordpress主题选项页面query_posts

时间:2010-11-24 13:48:44

标签: wordpress-plugin wordpress-theming wordpress

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

目前我可以选择手动输入wordpress页面的IDS以使用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 个答案:

答案 0 :(得分:2)

  

当我回显var_dump = string(11)“32,39,43,45”

在这种情况下,您需要explode $vehicle1,因为post__in需要一个数组;

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

答案 1 :(得分:1)

<强>更新

  

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

你不应该用array(32,39,43,45) 而不是 $euro_box_1_vehicles替换array($euro_box_1_vehicles吗?后者似乎会产生一个带有一个参数的嵌套数组,即array(array(32,39,43,45))。这不是你想要的。


旧答案......

如果我读了你,那么query_posts()需要一个ID列表? (32,39,43,45)

但是当你传递它$ vehicle1时,你没有给它一个ID列表,而是一个二维数组。

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