芒果小站

  1. 全球最具业界良心的主机 - DigitalOcean

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - DigitalOcean

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - DigitalOcean

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
13

WordPress 主循环排除特定分类

作者 芒果/分类 教程/发布于 2009-06-05 12:48

在 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://mangguo.org/wordpress-main-loop-exclude-specific-category/" title="WordPress 主循环排除特定分类" rel="bookmark">WordPress 主循环排除特定分类 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 13 条群众意见

  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
  8. sem /2010-09-14 16:00

    好文~ 回应

    #8
  9. ?
    顯示與不顯示特定分類文章 – 荒放居 /2010-10-20 08:50

    […] WordPress 主循环排除特定分类 | 芒果 作者 連爺爺, 作於 2010 年 10 月 20 日 08:15:46 分類 網站日誌 標籤 IT. 標記 […] 回应

    #9
  10. 菜心 /2010-12-23 22:02

    你好,我根据你这个方法试过了,首页分类是实现了,但是当我点击分类标签,要进入分类页,也就是 category 页时,没法显示指定分类了。。。想问下是不是也是一个冲突。。。希望能通过邮件回复我,先谢谢了。。我正在做 wordpress 主题开发。初学者,呵呵。 回应

    #10
  11. 芒果菜心/2010-12-23 23:34

    首页分类加首页判断 if(is_home()){主循环…} 回应

    #11
  12. 走音 /2011-07-14 02:24

    你好,芒果,我想排除两个分类该怎么办?
    代码应该怎么打? 回应

    #12
  13. jansun /2013-03-30 22:06

    IE浏览器下不起作用,是不是IE不认这个函数啊。 回应

    #13

下面我简单说几句