当你学会自己搭建网站后,在日常网站更新运营过程中你可能还需要在网站首页或者分类页隐藏特定的文章不显示出来,本文就教你如何使用插件和代码的方式实现隐藏特定文章在特定位置。
使用插件隐藏文章
WordPress插件非常丰富,所以你可以直接使用插件来解决隐藏文章的问题。
这里我建站笔记给大家推荐的插件是WordPress Hide Posts,使用这款插件可以实现“创建新帖子或编辑帖子时,您可以选择在哪个存档页面上以及主页上隐藏该帖子。”
插件下载
你可以从上面链接下载插件后上传到网站后台安装,WordPress插件安装教程
WordPress Hide Posts安装完毕后,在你文章编辑页面右侧可以看到上图这样的隐藏文章选项,分别是:
- Hide on frontpage 在首页隐藏
- Hide on categories 在分类页隐藏
- Hide on search 在搜索页隐藏
- Hide on tags page 在tag页隐藏
- Hide on authors page 在作者页隐藏
你只需要在文章编辑时勾选隐藏的位置然后发布或者更新文章就可以实现特定地方隐藏文章的功能了。
使用代码隐藏文章
使用代码隐藏文章适合不想装太多插件的站长朋友,插件的方法也很简单,如果你不知道怎么添加代码的话,建议先装一个“安全添加代码到functions.php文件的方法:Code Snippets”里面介绍的插件。(通过这款Code Snippets插件你可以管理很多自己添加的代码)
如果你不想装这个代码管理插件的话,那么就手动把下面的代码添加到主题模板函数 (functions.php)里面。
//在首页隐藏特定文章 function naibabiji_exclude_from_home($query) { if ($query->is_home() ) { $query->set(post__not_in, array(1276)); } } add_action(pre_get_posts, naibabiji_exclude_from_home);
上面的代码就是在首页隐藏特定文章的代码,代码里面的1276就是要隐藏的文章ID,多篇文章用英文逗号隔开。
文章ID获取方法
1、在文章列表页面,鼠标移动到文章标题上面,浏览器左下角的网址里面那个数字就是这篇文章的ID。
2、新发文章的时候(经典编辑器模式下,且固定链接格式是数字型。),永久链接里面也会显示ID。
在所有地方都隐藏文章的代码:
//所有地方隐藏文章 function naibabiji_exclude_from_everywhere($query) { if ( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) { $query->set(post__not_in, array(1276)); } } add_action(pre_get_posts, naibabiji_exclude_from_everywhere);
上面代码中,$query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive()是判断在哪些地方隐藏文章,代码分别是代表:首页、feed页、搜索页、归档页。如果你不需要某些地方,就删除对应的代码。
和本文相关文章
上面这个代码和插件只是在网站特定位置隐藏了文章的显示,别人知道文章网址的话依然是可以访问的,如果你想让文章隐藏并且知道网址也没有办法直接访问,那么可以考虑:
- 给文章添加一个密码(发表文章时公开度可以选择)
- 安装需要注册登录才能查看的插件
- 根据用户权限判断是否显示