秋硕学习笔记 优化 如何在 WordPress 主页上隐藏文章

如何在 WordPress 主页上隐藏文章

对于大多数 WordPress 主题来说,最新发布的文章都会出现在网站的首页上。如果您不希望最新文章出现在首页…

对于大多数 WordPress 主题来说,最新发布的文章都会出现在网站的首页上。如果您不希望最新文章出现在首页,那么应该怎么处理呢?

使用插件隐藏文章

可以直接使用插件WordPress Hide Posts来解决隐藏文章,实现“创建新帖子或编辑帖子时,可以选择在哪个存档页面上以及主页上隐藏该帖子”。

WordPress Hide Posts插件安装完毕后,在文章编辑页面右侧可以看到隐藏文章选项:

  • Hide on frontpage 在首页隐藏
  • Hide on categories 在分类页隐藏
  • Hide on search 在搜索页隐藏
  • Hide on tags page 在tag页隐藏
  • Hide on authors page 在作者页隐藏

只需要在文章编辑时勾选隐藏的位置,然后发布或者更新文章就可以实现特定地方隐藏文章的功能了。

使用代码隐藏文章

1、在首页隐藏特定文章代码:

//在首页隐藏特定文章
function naibabiji_exclude_from_home($query) {
if ($query->is_home() ) {
$query->set('post__not_in', array(xx));
}
}
add_action('pre_get_posts', 'naibabiji_exclude_from_home');

上面的代码就是在首页隐藏特定文章的代码,代码里面的xx就是要隐藏的文章ID,多篇文章用英文逗号隔开。
2、在所有地方都隐藏文章的代码:

//所有地方隐藏文章
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页、搜索页、归档页。如果你不需要某些地方,就删除对应的代码。

手动隐藏类别

如果想在主页隐藏整个类别的文章,可以使用上面介绍的 WP Hide Post 插件来实现,还可以通过手动添加代码到子的主题 functions.php 文件来实现。

要隐藏特定类别下的文章,首先记下类别 ID(可以编辑类别并查看 URL 以找到 ID),然后将以下代码粘贴到 functions.php 文件末尾,并将“xx”替换为类别 ID:

function myprefix_exclude_category($query) {
if ( ! is_admin() && $query->is_main_query() && $query->is_home() ) {
$query->set( 'cat', '-xx' );
}
return $query;
}
add_filter( 'pre_get_posts', 'myprefix_exclude_category' );
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。若本站内容侵犯了原著者的合法权益,请联系我们进行处理。本文地址:https://wparticle.cn/1264.html

作者: wordus

记录生活感悟,分享网络资源,交流学习体会,感受美好人生。秋硕学习笔记,记录分享学习、生活、工作、旅游、健身、爱好的个人博客。
返回顶部