北极寒流 » 网络资源 » WordPress排除指定分类日志 - 2011.07.08

WordPress排除指定分类日志

WordPress排除指定分类日志。有时出于某种需要我们要在主循环中排除某个指定分类下的文章,同时还要保证分页的正常。下面是解决WordPress排除指定分类文章的方法。

WordPress 默认模板中,主循环调用文章的方式如下:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
//主循环内容
<?php endwhile; ?>
<?php endif; ?>

默认情况文章调用范围为所有分类。如果排除某分类,可以使用 query_posts() 函数

<?php query_posts('cat=-8'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
//主循环内容
<?php endwhile; ?>
<?php endif; ?>

以上代码调用除分类 ID 为 8 外的所有文章。

由于 query_posts() 函数会与分页功能造成冲突,若需排除特定分类,又要保持分页功能正常,完整代码如下:

<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=-8&showposts=' . $limit=10 . '&paged=' . $paged);
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//主循环内容
<?php endwhile; endif; ?>

评论关闭