我有一组使用自定义分类法分配了一年的帖子。使用查询帖子我希望能够对这些帖子进行排序,以便首先显示2012年的帖子,然后按字母顺序对其余内容进行排序。
我让下面的示例正常工作,它首先显示所有匹配元值为2012的帖子,然后第二个循环显示从第一个循环中排除帖子的所有其他内容....
<?php query_posts( array(
'post_type' => 'project',
'meta_key' => 'start_date_year',
'meta_value' => '2012'
));
$ids = array();
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<p>This is from Loop 1 - <?php the_title(); ?> - <?php the_id(); ?></p>
<?php $ids[]= $post->ID; ?>
<?php endwhile; endif; wp_reset_query(); ?>
<?php query_posts( array(
'post_type' => 'project',
'post__not_in' => $ids
));
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<p>This is from Loop 2 - <?php the_title(); ?> - <?php the_id(); ?></p>
<?php endwhile; endif; wp_reset_query(); ?>
<?php pagination(); ?>
我现在唯一的问题是分页,它显示2页但每个页面包含相同的结果......
答案 0 :(得分:2)
我会运行两个循环从数组中的第一个循环收集帖子的ID,并通过将其添加到第二个wp_query $ args
中将它们从第二个数组中排除同样......
'post__not_in' => $array_variables_from_first_loop,