Axiu Blog
ery之类乱七八咋的东西。即说,在index.php文件里,是写的`if(have_posts()) : while(have_posts()) : the_post();`,而不是`$my_query->have_posts()`之类的东东。 2、你有能力找到该分类的id,查找方法最简单的就是找到“仪表盘”-“左侧栏”-“文章”-“分类目录”-找到对应的
写博客常会遇到奇怪的要求,比如想把某篇文章从首页和feed里清除掉,让大家看不到,但是又不想彻底删除它,只待某日恢复正身。我最近就遇到了这种情况,原因不多说。直接说方法。 ### 前提 1、首页用的默认query,不是自建的my\_query之类乱七八咋的东西。即说,在index.php文件里,是写的`if(have_posts()) : while(have_posts()) : the_p
写博客常会遇到奇怪的要求,比如想把某篇文章从首页和feed里清除掉,让大家看不到,但是又不想彻底删除它,只待某日恢复正身。我最近就遇到了这种情况,原因不多说。直接说方法。 ### 前提 1、首页用的默认query,不是自建的my\_query之类乱七八咋的东西。即说,在index.php文件里,是写的`if(have_posts()) : while(have_posts()) : the_p
在首页和(或)feed里排除某个分类下的文章
Max

写博客常会遇到奇怪的要求,比如想把某篇文章从首页和feed里清除掉,让大家看不到,但是又不想彻底删除它,只待某日恢复正身。我最近就遇到了这种情况,原因不多说。直接说方法。

前提

1、首页用的默认query,不是自建的my_query之类乱七八咋的东西。即说,在index.php文件里,是写的if(have_posts()) : while(have_posts()) : the_post();,而不是$my_query->have_posts()之类的东东。

2、你有能力找到该分类的id,查找方法最简单的就是找到“仪表盘”-“左侧栏”-“文章”-“分类目录”-找到对应的目录鼠标指向“编辑”-看链接里tag_id=xx。记下这个xx即是。

3、你可以更改functions.php文件。

具体方法

如上的内容确认之后,只需要把如下内容扔进functios.php文件里即可:

function some_cat_exclude($query) { if ($query->is_feed || $query->is_home) { $query->set('cat','-1,-2,-3,-4'); } return $query; } add_filter('pre_get_posts','some_cat_exclude');

解释:第二行的is_feed,is_home都是用来判断适用场合的,我这里选择了feed和home都不输出。
如果你想改改其实很简单:如果想在搜索结果中排除用is_search;存档页面中排除用is_archive;其他场合类推或查询官方文档~~

扩展

我因为想把某篇老文章排除掉,让它隐藏起来,但是不想改变标题地址(因为某个分类下还有其他文章,不想再改变它的固定链接地址),所以,我用的办法是,新建了一个作者,然后把这篇文章chown,给该作者,然后类似上面的方法,把$query->set('cat','-1,-2,-3,-4');改成

$query->set('author',-xxx);

之后,不管是对这篇文章进行更改日期,更改内容,更改标签等等操作,都不会对首页和feed的文章有影响。

这么一来,一些软文秘密的文章就可以瞒天过海了,并且不影响其他文章的结构,你说是不是很方便呢?

Comments