芒果

/* 300x250 */

在 WordPress 默认模板中,主循环调用文章的代码格式如下:

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

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

<?php query_posts('cat=-1'); ?>

以上代码调用除分类 ID 为 1 外的所有文章。将其插入主循环前即可。

由于 query_posts() 函数会与分页功能造成冲突,可以将 query_posts() 语句替换为:

<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=-1&showposts=' . $limit=10 . '&paged=' . $paged);
?>

若需排除特定分类,又要保持分页功能正常,则完整代码如下:

<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=-1&showposts=' . $limit=10 . '&paged=' . $paged);
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//主循环内容
<?php endwhile; endif; ?>
版权所有,转载请注明出处。
转载自 <a href="http://www.mangguo.org/wordpress-main-loop-exclude-specific-category/" title="WordPress 主循环排除特定分类" rel="bookmark">WordPress 主循环排除特定分类 | 芒果</a>

已经有 7 条评论

  1. bolo - 2009-06-05 12:57

    貌似不用弄的这么复杂,用 exclude 函数就可以了。 回应

    #1
  2. seri - 2009-06-05 17:50

    bolo 说的对,代码可以百度一下。
    PS:芒果童鞋,你可以给你的 menu 的 li 里加 display:block,这样点击链接,会更方便! 回应

    #2
  3. 芒果seri 说 - 2009-06-05 18:05

    主循环里排除特定分类用 exclude 好像不行。 回应

    #3
  4. seri - 2009-06-05 22:30

    可能应用不一样,代码不一样。
    PS:对了,应该是在 menu 的 li 里的 a 标签里加 display:block 样式。 回应

    #4
  5. 在 Wordpress 循环中排除某分类 » Life Studio - 2010-01-10 15:28

    [...]   以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应

    #5
  6. 在 Wordpress 循环中排除某分类 — 老孙的博客--Lao Sun's Blog - 2010-02-18 13:59

    [...]   以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应

    #6
  7. TIPS的网志 » 在 Wordpress 循环中排除某分类 - 2010-07-12 21:31

    [...] 以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应

    #7

我简单说几句

推荐文章

最新评论

友情链接

一夜激情