使用function.php将特定分类的文章排除于首页显示
本文于2021年1月3日由AlvinCR更新
文章导引
1.寻找分类目录的ID
进入网站后台,选择 文章-分类目录,选择想要实现此效果的目录,并点击编辑,这时会跳转到一个新网页。在url中的id=x,其中x就是需要的分类目录ID值。
2.添加功能函数
选择 外观-主题编辑器(不同主题名称不同,只要是存在编辑器二字即可)-模板函数(也就是functions.php)。(也可以建立子主题进行编辑)
在下面空白处随意添加以下脚本(别添加进其它函数中去了,最后还是在开头的空白处添加,如*/之后,function之前)
补充
2021.1.3补充:
-x如果是多个值,中间使用逗号隔开,如:’-77,-27’,不要再新建一遍函数,这样只有第一个函数有效。
附:
exclude_category_home 定义排除目录策略。
query 在mysql中规定用于发送的SQL数据。
cat为category的缩写,将编号为x的目录赋值给query。
add_filter 将函数链接到过滤器动作中,而过滤器是wordpres中的钩子,截获即将送达浏览器窗口的文本,并将其过滤掉。
pre_get_posts是一个强大的文章过滤器,在这里用于过滤目录,功能类似于query_posts,但是可以和is_main_query连用来检测主查询。
对于我来说这个操作可以将不务正业的文章排除在首页…
比如:你在首页就看不到我的http://alvincr.com/2020/12/%e5%a4%a9%e9%99%85-npc%e9%a3%9e%e5%a4%a9/这篇文章。