我试图在主页上的滑块中查询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\'
)
)
);
?>
它只返回帖子,不返回事件。
最合适的回答,由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;
不得不说,这两个(后期事件)都是由管理员用户创建的-我已经检查了代码,并且有一个具有自定义功能的扩展部分。