具有/不具有粘性柱子和不同柱子限制的多个循环

时间:2011-03-07 作者:Craig

我在wordpress中遇到了多个循环和粘性帖子的问题。

第一个循环我只想要所有的粘性帖子。

<?php query_posts(array(\'post__in\'=>get_option(\'sticky_posts\'), \'cat\' => \'-15,-17, -5, -2\')) ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>   

<?php $do_not_duplicate = $post->ID; ?>

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

<?php endwhile; endif; ?>
在第二个循环中,我想得到所有不粘性的帖子(因此粘性帖子不会显示)。目前,除了最新的贴子外,所有贴子仍显示在下面的循环中。

此外,posts\\u per\\u页面在第一个循环中包含了我不想要的帖子。无论我添加多少粘性帖子,我都希望不粘性帖子的数量保持一致。

<?php query_posts($query_string . \'&cat=-15,-17, -5, -2&post_type=post&posts_per_page=9\'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<?php if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>
<?php the_first_category(); ?>
<a" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>

<?php endwhile; ?>

<?php next_posts_link(\'Older &rarr;\') ?>

<?php endif; ?>
有人能帮我或给我指出正确的方向吗?

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您的问题是在第一个循环中覆盖$do_not_duplicate 对于循环中的每个帖子,因此在最后,您只有最后一篇帖子的id。如果将$do\\u not\\u duplicate更改为数组,则可以将每篇文章添加到数组中:

//before the loop
$do_not_duplicate = array();

//in the loop

$do_not_duplicate[] = $post->ID;
然后,您可以在第二个查询中使用in:

<?php query_posts($query_string . \'&cat=-15,-17, -5, -2&post_type=post&posts_per_page=9&post__not_in=\'.$do_not_duplicate); ?>

SO网友:Marcin

use post__Not_in:

<?php
array( \'post__not_in\' => get_option( \'sticky_posts\' ) )
结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x