【发布时间】:2013-12-07 09:12:42
【问题描述】:
我有两个类别
类别 1 类别 2
因为有些帖子属于这两个类别。
现在我想显示第 2 类的 15 个帖子,它不是第 1 类的最后 5 个帖子。(第 2 类的 15 个帖子,但如果这些帖子在第 1 类的最后 5 个帖子中,只想排除它们)
这可能吗?任何帮助或资源将不胜感激。
【问题讨论】:
标签: wordpress conditional
我有两个类别
类别 1 类别 2
因为有些帖子属于这两个类别。
现在我想显示第 2 类的 15 个帖子,它不是第 1 类的最后 5 个帖子。(第 2 类的 15 个帖子,但如果这些帖子在第 1 类的最后 5 个帖子中,只想排除它们)
这可能吗?任何帮助或资源将不胜感激。
【问题讨论】:
标签: wordpress conditional
您可以使用 WP_Query 在两个单独的查询中执行此操作
首先获取类别 1 中的前 5 个帖子。循环并获取帖子 ID。
然后查询类别二中的帖子,不包括 postID。
类似:
$args = array('posts_per_page' => 5,
'cat' => '1',
);
$posts = new WP_Query( $args );
while ($posts->have_posts()) {
$exclude_posts[] = $posts->the_ID();
}
$args = array('cat'=> '2',
'post__not_in' => $exclude_posts
);
$posts = new WP_Query( $args );
使用多个循环查看http://codex.wordpress.org/Function_Reference/query_posts
【讨论】:
<?php query_posts('showposts=5&cat=5'); if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?><a href="<?php the_permalink() ?>"><h1><?php the_title(); ?></h1></a><?php endwhile; ?> <?php else : ?> <?php endif; ?>