/* 336x280*/
在 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; ?>
/* 336x280*/
版权所有,转载请注明出处。
转载自 <a href="http://www.mangguo.org/wordpress-main-loop-exclude-specific-category/" title="WordPress 主循环排除特定分类" rel="bookmark">WordPress 主循环排除特定分类 | 芒果小站</a>
已经有 12 条群众意见
- bolo
#1/2009-06-05 12:57貌似不用弄的这么复杂,用 exclude 函数就可以了。 回应
- seri
#2/2009-06-05 17:50bolo 说的对,代码可以百度一下。
PS:芒果童鞋,你可以给你的 menu 的 li 里加 display:block,这样点击链接,会更方便! 回应
- 芒果 对 说
#3/2009-06-05 18:05主循环里排除特定分类用 exclude 好像不行。 回应
- seri
#4/2009-06-05 22:30可能应用不一样,代码不一样。
PS:对了,应该是在 menu 的 li 里的 a 标签里加 display:block 样式。 回应
- 在 Wordpress 循环中排除某分类 » Life Studio
#5/2010-01-10 15:28[...] 以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应
- 在 Wordpress 循环中排除某分类 — 老孙的博客--Lao Sun's Blog
#6/2010-02-18 13:59[...] 以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应
- TIPS的网志 » 在 Wordpress 循环中排除某分类
#7/2010-07-12 21:31[...] 以上方法转自:芒果-WordPress 主循环排除特定分类 [...] 回应
- sem
#8/2010-09-14 16:00好文~ 回应
- 顯示與不顯示特定分類文章 – 荒放居
#9/2010-10-20 08:50[...] WordPress 主循环排除特定分类 | 芒果 作者 連爺爺, 作於 2010 年 10 月 20 日 08:15:46 分類 網站日誌 標籤 IT. 標記 [...] 回应
- 菜心
#10/2010-12-23 22:02你好,我根据你这个方法试过了,首页分类是实现了,但是当我点击分类标签,要进入分类页,也就是 category 页时,没法显示指定分类了。。。想问下是不是也是一个冲突。。。希望能通过邮件回复我,先谢谢了。。我正在做 wordpress 主题开发。初学者,呵呵。 回应
- 芒果 对 说
#11/2010-12-23 23:34首页分类加首页判断 if(is_home()){主循环…} 回应
- 走音
#12/2011-07-14 02:24你好,芒果,我想排除两个分类该怎么办?
代码应该怎么打? 回应
我简单说几句