博主的网站从原来的 wordpress.com 免费托管服务,移步至新搭建的 wordpress 博客框架以及香港服务器加上新域名 rhba7jwe.top 已经很久了。
其实早在六年前,因建站的内容需要为页面(网站顶端及左侧的旗帜、广播电视、QSL、集邮等)增加多量的文章,这些文章自然也就同步于网站的主页了。
比如这个:
博主觉得这些文章同步于主页既觉得非常多余又觉得没必要,后台仪表盘又找不到能隐藏特定文章在主页显示的功能,而且还想到了有 WP Hide Post 插件这个玩意,结果搜索却显示因「安全原因」不能下载……那咋办呢?
既然这样,就只有往仪表盘的主题文件编辑器里试试看……
我们需要把下面这个 PHP 代码复制到仪表盘主题文件编辑器的模板函数文件 functions.php 里头。
//在首页隐藏特定文章
function wpb_exclude_from_home($query) {
if ($query->is_home() ) {
$query->set('post__not_in', array(此处填上文章ID,隐藏多个文章用英文逗号,分开));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_home');
其中第二行的 is_home() 就是主页,if ($query->is_home() ) { 就是指在主页隐藏特定文章。而另外的 >is_feed()、is_search()、is_archive() 则分别代表 feed 页、搜索页、归档页。
if ( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) {
第三行 $query->set(‘post__not_in’, array( ) 后面的括号就标注需要隐藏的文章 ID,填写多个时用英文逗号隔开。
获得文章 ID 的方法:
打开仪表盘,点击左侧的「文章」→「所有文章」
然后找到需要隐藏的文章
之后将鼠标移到文章的标题,屏幕左下角即可得到文章 ID(即 post 后面的数字)
得到文章 ID 后,复制到隐藏特定主页文章的 PHP 代码中
$query->set('post__not_in', array(2430));
//在首页隐藏特定文章
function wpb_exclude_from_home($query) {
if ($query->is_home() ) {
$query->set('post__not_in', array(2430));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_home');
点击左侧的「外观」→「主题文件编辑器」
找到我们要复制的地方:点击右侧「模板函数」function.php
最后把隐藏特定主页文章的 PHP 代码复制到 function.php 后面,点击「更新文件」
F5 刷新一下网站主页,那个文章真隐藏起来了,但仍然可以通过搜索或记住其链接还能找得到。
就这些了,希望这篇实用教程对你们有帮助。