0

我有一组使用自定义分类法分配了一年的帖子。使用查询帖子,我希望能够对这些帖子进行排序,以便首先显示 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 页,但每一页都包含相同的结果......

4

1 回答 1

2

我将运行两个循环从数组中的第一个循环收集帖子的 ID,并通过将其添加到第二个 wp_query $args 中将它们从第二个数组中排除

一样……

'post__not_in' => $array_variables_from_first_loop,
于 2012-11-15T20:07:06.963 回答