让WordPress首页不显示某个分类下的文章
主要方法来自 https://zhidao.baidu.com/question/563575804313175724.html
获取分类id号
首先,查看要隐藏的分类的id号,进入WordPress的后台管理界面,进入 文章->分类目录 页面下
将鼠标悬停在分类名称上,在屏幕左下角会显示该分类的链接,其中tag_ID属性的值即为该分类的id号。
在首页隐藏分类内容
这里主要是通过修改WordPress下的文件的方式,至于怎么拿到这些文件并修改,我有两种方式,一是直接用类似putty的命令行远程连接工具连接WordPress所在的机器,找到对用位置下,用vim方式直接修改。二是用WinSCP连接WordPress所在的机器,找到对应文件,拷贝到当前的机器上修改再复制覆盖回去。我的WordPress部署在远程的Linux服务器上,我选择的后者的方式,用手头的windows连接服务器,在windows上进行改写(因为我觉得这样可视化和可编辑的效果更好)。
方法一、修改index.php
这个文件应该会在 你的WordPress所在目录/wordpress/wp-content/themes/你的主题/index.php ,修改该文件。
<?php if(have_posts()): query_posts($query_string .'&cat=-20,-22');
while(have_posts()): the_post();?>
上面的代码中是让20和22分类不显示出来。
方法二、functions.php修改,这个文件应该在 你的WordPress所在目录/wordpress/wp-content/themes/你的主题/function.php 。这个方法是比较好的,建议使用。
//在首页中排除某些分类
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-20, -22' ); //你要排除的分类ID
}
return $query;
}add_filter( 'pre_get_posts', 'exclude_category_home' );
这个方法直接不会有任何页面空缺问题,而且在最新内容中也不会出现。直接在当前主题的functions.php添加上面的脚本,修改对应的分类排除。
自测方法二好用
上一篇: JSP乱码解决问题