WordPress博客首页如何排除指定分类的文章
更新时间:2023-10-10 02:20:01 阅读量: 综合文库 文档下载
WordPress博客首页如何排除指定分类的文章
今天看到有WordPress博主在问“WordPress博客首页如何排除指定分类的文章?”。用户为什么想这样做的原因有很多,也许你不希望在首页上显示上显示自己生活类的文章,而只显示一些新闻类的文章。
要做到这一点,你就需要在 The loop 中更改调用文章的函数。WordPress默认主题 Twenty Ten 和 Twenty Eleven 使用 the_post() 函数来调用所有的博客文章。
the_post() 函数使用 WP_Query。我们可以使用 WP_Query 函数本身来自定义哪些文章被调用,或者哪些存档、分类、时间的文章可以显示在主页。 另外,我们还可以使用 query_posts 函数来控制 The Loop 循环。这种方法无疑是最好的,因为它并没有改变你的循环。不过,两种方法我都会讲解,你可以选择一个适合你的。 使用函数WP_Query
如果你想改变你的主页显示效果,你需要编辑你的主题index.php文件。大部分主题使用archive.php文件来作为分类(category)、时间(date)、标签(tag)的的显示页面, 所以你想更改某个存档页面只要修改archive.php文件就可以了。还有一些主题有专门的category.php、date.php、tag.php模板,修改相对应的就好。
大多数主题文件的循环会以“Start the Loop”开始。例如在Twenty Eleven主题中,看起来像这样:
你需要替换为以下函数: // The Query
$query = new WP_Query( $args );
// The Loop
while ( $query->have_posts() ) : $query->the_post();
要控制哪些文章在循环中显示,你需要定义在WP_Query中的参数,即修改 $query = new WP_Query( $args );.
目前有5种参数,比较常用的是参数是 cat 和 category_name 。
若你要显示你的 tech 分类,而它的分类ID是1,那么你可以使用参数cat: $query = new WP_Query( 'cat=1' );
或者你可以使用参数 category_name 来达到同样的效果: $query = new WP_Query( 'category_name=tech' ); 若想多添加几个分类,则需要用逗号分隔。 $query = new WP_Query( 'cat=1,7,121' ); 或
$query = new WP_Query( 'category_name=news,reviews,tutorials' ); 在分类ID前加上减号来排除某一类的所有文章。注意,不可以使用category_name 参数来排除类别。
$query = new WP_Query( 'cat=-1' );
在上面说过,有5种参数,我已经讲解了其中两个:cat 和 category_name,都是从你的文章列表中包含或排除某些类别。
其他三个参数是 category_and、category_in和category_not_in。 category_and显示多个分类的文章:
$query = new WP_Query( array( 'category__and' => array( 1, 7 ) ) ); category_in是一个or函数:
$query = new WP_Query( array( 'category__in' => array( 7, 127 ) ) ); 排除多个类别:
$query = new WP_Query( array( 'category__not_in' => array( 2, 6 ) ) ); WP Query是一个非常灵活的功能函数。分类只是其中的一个参数而已,还可以使用:
Author Parameters – 显示某个作者或多个作者的文章列表,也可以排除之。
Tag Parameters – 显示或排除某些Tag的文章列表。
Taxonomy Parameters – 显示一个或多个自定义分类的文章列表。. Post & Page Parameters – 使用IDs 或 page slugs显示某些特定的文章。 Type & Status Parameters – 显示某些文章类型的文章或带有附件的文章。
Pagination Parameters – 确定每页显示的文章数量。 Offset Parameter – 文章从某哪开始显示。
Order & Orderby Parameters – 更改文章列表的排列顺序。 Sticky Post Parameters – 显示包括或排除置顶文章的文章列表。 Time Parameters – 显示某些时间段的文章。
Custom Field Parameters – 显示相关自定义字段的文章。 Permission Parameters – 显示发布的或私密的文章。
WP_Query 页面为每个参数都提供了例子,这里就不一一讲解具体用法了。 使用函数query_posts
query_posts可以非常简单的定制你在页面上显示的文章,而且你不必更改现有的循环代码。
query_posts( $args );
要使用它的功能,你就必须在你的loop循环开始之前调用它。例如: // The Query
query_posts( $args ); // The Loop
while ( have_posts() ) : the_post();
如果你计划调用页面中的第二个循环,请确保你使用了wp_reset_query()来重置你的循环。例如: // The Query
要显示某些分类的文章,你需要用到 cat 参数:
同样,要排除某些分类,你需要在前面添加减号: 还可以用来显示特定的文章: query_posts( 'p=2' );
要定义每页显示文章的数量,你可以使用 posts_per_page 参数: query_posts( 'posts_per_page=5' );
想要了解更多的信息,请访问query_posts页面。 使用插件来排除某些分类的文章
对于那些对代码不太感冒的朋友,也可以使用WordPress插件。这里建议使用Simply Exclude和Ultimate Category Excluder。 Simply Exclude
Simply Exclude可以让你在首页、归档页、搜索页、RSS中排除或包含某些分类、作者、标签的文章,使用起来也非常简单。 Ultimate Category Excluder
Ultimate Category Excluder,能让你容易的排除某些分类在主页、存档页和RSS中。不同于Simply Exclude的是他只能排除某些分类,不能排除作者、标签等。 总结
虽然Simply Exclude和Ultimate Category Excluder插件都很不错,但如果你有一定的编程基础,那么你还是手动修改吧。
本文由304不锈钢管整理编辑 http://www.gdydbxgjs.com
正在阅读:
领导干部驻点直接联系群众工作总结文档04-20
人身损害赔偿金计算方法08-27
浅析股票期权激励机制在公司治理中的作用09-24
科技文献检索作业01-30
基础护理知识儿科109-21
湖南省长郡中学2018届高三月考(五)英语试题Word版含答案04-08
电路基础实验指导书09-22
Fe3O4制备实验步骤03-29
关于便携式GPS方案即主板的知识04-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 首页
- WordPress
- 排除
- 指定
- 如何
- 分类
- 文章
- 博客