使用元键查询帖子和自定义帖子类型

时间:2013-02-02 作者:Sebastian Starke

我试图在主页上的滑块中查询all-in-one event calendar的自定义帖子类型ai1ec\\U event和普通wordpress帖子。这很有效。

现在,我只想查询带有自定义字段值“Triser”的帖子,但这只返回普通帖子,而不是事件。

<?php
query_posts( array(
\'post_type\'=>array(\'post\',\'ai1ec_event\'),   
\'posts_per_page\' => 50,
\'meta_query\' => array(
    array(
        \'key\' => \'teaser\',
        \'value\' => \'on\'        
    )
)
);
?>
即使我省略了帖子类型查询:

<?php
query_posts( array(
\'meta_query\' => array(
    array(
        \'key\' => \'teaser\',
        \'value\' => \'on\'        
    )
)
);
?>
它只返回帖子,不返回事件。

1 个回复
最合适的回答,由SO网友:david.binda 整理而成

恐怕WP\\u Query无法获取(带有自定义字段的帖子)或(甚至是ailec\\u)。您必须查询第一个数组,而不是第二个数组,然后合并这些数组。使用WP_Query 而不是query\\u帖子。

我刚刚在本地安装上试用了它,这段代码是从索引调用的。php of Twenty12 works(带来标题为“Hello post”的帖子和标题为“event”的ai1ec\\U事件-两者都带有值为“on”的自定义字段“Triser”

$events_query = new WP_Query( array(\'post_type\' => array(\'ai1ec_event\', \'post\'), \'meta_query\' => array( array( \'key\' => \'teaser\', \'value\' => \'on\' ) )) );
while ( $events_query->have_posts() ) :
    $events_query->the_post();
    echo get_the_title() . \'<br/>\';
endwhile;
不得不说,这两个(后期事件)都是由管理员用户创建的-我已经检查了代码,并且有一个具有自定义功能的扩展部分。

结束