避免使用wordpress中的特色帖子重复

时间:2013-09-22 17:10:13

标签: wordpress

我有一个带有多个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; ?>

任何帮助将不胜感激。

1 个答案:

答案 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