我正在创建一个网站,它使用博客的普通帖子和事件的自定义帖子类型(由事件插件生成)。我成功地使用了不同的查询来获取这两个查询,但我想将它们合并到一个查询中。尝试过各种各样的事情,但都没有成功。
以下是对博客的查询:
<?php $mainFeatures = array( \'numberposts\' => -1, \'order\'=> \'DESC\', \'orderby\' => \'post_date\');
$postslist = get_posts( $mainFeatures );
foreach ($postslist as $post) : setup_postdata($post); ?>
<!-- stuff from post-->
<?php endforeach; ?>
以下是事件查询:
<?php query_posts(array(\'post_type\'=>array(TribeEvents::POSTTYPE), \'numberposts\' => -1,\'order\' => \'ASC\')); ?>
<?php while (have_posts()) : the_post(); ?>
<!-- stuff from post-->
<?php endwhile;?>
已尝试此操作,但再次仅获取事件:
<?php $tryone = query_posts(array(\'post_type\'=>post, \'posts_per_page\'=> 18)); ?>
<?php $trytwo = query_posts(array(\'post_type\'=>array(TribeEvents::POSTTYPE))); ?>
<?php $all_posts = array_merge( $tryone, $trytwo ); ?>
<?php query_posts($all_posts); ?>
<?php while (have_posts()) : the_post(); ?>
<p>stuff</p>
<?php endwhile;?>
最合适的回答,由SO网友:helgatheviking 整理而成
我认为你用错了post_type
对于常规职位。
$args = array(\'post_type\'=>array(\'post\', TribeEvents::POSTTYPE));
// The Query
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo \'<li>\' . get_the_title() . \'</li>\';
endwhile;
// Restore original Post Data
wp_reset_postdata();