我有一个带有多个WP_query循环的主页,我想阻止特色帖子同时出现在其特定的类别循环中。我只希望它不再是特色帖子时出现在类别循环中。
这是我的特色循环:
<?php
$featuredPost = new WP_Query();
$featuredPost->query('showposts=1&category_name=featured');
while ($featuredPost->have_posts()) : $featuredPost->the_post();
stuff
<?php endwhile; ?>
这是我的类别循环:
<?php
$categoryPost = new WP_Query();
$categoryPost->query('showposts=3&category_name=news');
while ($categoryPost->have_posts()) : $categoryPost->the_post();
stuff
<?php endwhile; ?>
<br/>
<?php
$categoryPost = new WP_Query();
$categoryPost->query('showposts=3&category_name=sport');
while ($categoryPost->have_posts()) : $categoryPost->the_post();
stuff
<?php endwhile; ?>
<br/>
<?php
$categoryPost = new WP_Query();
$categoryPost->query('showposts=3&category_name=art');
while ($categoryPost->have_posts()) : $categoryPost->the_post();
stuff
<?php endwhile; ?>
任何帮助将不胜感激。
答案 0 :(得分:0)
首先在你的第二个WP_Query
args中你可以添加
$categoryPost->query('showposts=3&category_name=art&cat=-5'); // 5 assumed the id of featured category
此外,您可以使用
// get the category ID first
$idObj = get_category_by_slug('featured');
$id = $idObj->term_id;
// use the id to exclude it from query
$categoryPost = new WP_Query('showposts=3&category_name=art&cat=-'.$id);
if($categoryPost->have_posts()):
while($categoryPost->have_posts()) : $categoryPost->the_post();
?>
<h2><?php the_title(); ?></h2>
<?php
endwhile;
endif;
因此,变量$id
中的值/ id将从查询中排除。详细了解Codex。