转自:http://v08.pdmb.org/meditation/how-to-exclude-categories-from-being-displayed/#comment-3888 很有文采的导语略过了,希望那家伙看到不会生气。

 

Wordpress又强又骚的功能致使一些人此不疲地日夜搓它玩弄它,而且它情人插件众多,每次征服都将高潮推向一个新的高度,呃··用query_posts()函数调用/显示特定分类下的文章,当你使用WP到一定程度的时候或许你会用到,很有用。把query_posts()函数放到LOOP前:

< ?php query_posts(’cat=5′); ?>
< ?php while (have_posts()) : the_post(); ?>
…LOOP here…
< ?php endwhile;?>

输出的内容只有分类ID=5以下的文章,参数不加以调整的话,数量则继承WP后台的全局输出设置。这样的使用方法会使分页功能不工作,如果是随便简单使用就请便。

如果你要在独立的页面里,调用特定分类,或者在首页排除/隐藏特定分类下的文章,并使分页功能正常不抽筋,就用下面的,放在LOOP前:

< ?php
$limit = get_option(’posts_per_page’);
$paged = (get_query_var(’paged’)) ? get_query_var(’paged’) : 1;
query_posts(’cat=5&showposts=’ . $limit=10 . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
< ?php while (have_posts()) : the_post(); ?>
…LOOP here…
< ?php endwhile;?>

这样使用会使分页功能工作起来。这是WP官方论坛上外国朋友给的方法,摆这里,可能会帮助到下一个和我遇到同样问题的人。

排除/隐藏首页特定分类下的文章,同上,分类ID加上“-”。或者使用方便简单的插件Advanced Category Excluder,这个是光荣伟大的煎蛋厨房大佬elfox所赐,哈哈~

补充中间漏掉的一些说明,使用query_posts()函数过于“简单”,会使分页功能出现抽筋,其症状表现为不让你翻页,不管你的文章多到可以分到了5678页去,翻页时还只是显示第一页给你,脸皮厚比过得缸。还有人在我西去取经路上告诉我,直接把你需要的分类地址加入导航菜单或者连接是一样的效果,可是5空告诉我那个只是一个archive页面,这样做不好玩;还有一个WP中文上的朋友我很感谢他,用自己的站做给我看,修改数据库达到效果,8介说这个和archive页面是一样的道理,只是把独立页面的地址通过修改数据库转到了archive页面上,这样更不好玩,而且玩起来累,so,还是选用最灵活的方法。