如何在WordPress循环中隐藏密码保护的文章

09/25/2023

为什么要在WordPress中隐藏密码保护的文章?

默认情况下,WordPress会显示密码保护文章的标题,并带有一个“Protected”前缀。用户需要输入密码才能查看文章内容。

这些文章标题会出现在主页、存档、最近文章小工具等地方。如果您想让一些内容完全私密,这并不理想。

不仅没有密码的用户能看到文章标题,他们还可以尝试输入密码。众所周知,密码是可以被破解的。

在WordPress中隐藏密码保护的文章

只需将以下代码添加到您的主题的functions.php文件或特定于站点的插件中:

function wpb_password_post_filter( $where = '' ){ if (!is_single() && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wpb_password_post_filter' );

此代码通过使用posts_where过滤器修改发送到WordPress的查询。它要求WordPress获取所有没有密码的文章。

访问您的网站,您将看到密码保护的文章不再出现在主页、存档或最近文章的小工具中。

您仍然可以通过直接URL访问这些文章。

上述示例隐藏了所有用户的密码保护文章。如果您运行的是多作者WordPress网站,并希望有编辑私密文章权限的用户能查看这些文章,可以简单修改代码,如下:

function wpb_password_post_filter( $where = '' ){ if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wpb_password_post_filter' );

在这个示例中,我们检查用户是否不能编辑密码保护文章,然后只显示没有密码的文章。这样所有拥有管理员和编辑角色的用户在前端依然能看到密码保护文章。

我们希望这篇文章能帮助您在WordPress站点的循环中隐藏密码保护文章。您可能还想查看我们的教程,了解如何更改WordPress中的私密和保护文章前缀。



Related Posts

  • 2024-08-04
  • WordPress 教学

不喜欢 WordPress 4.3 引入的格式化快捷键?觉得有点烦人?最近,有用户问我们如何在 WordPress 中禁用视觉编辑器格式化快捷键。在本文中,我们将向您展示如何做到这一点。

閱讀更多
  • 2024-07-31
  • WordPress 教学

你在 WordPress 网站上看到 503 服务不可用错误吗?503 错误是因为服务器无法处理请求,通常是由于服务器过载或维护。而这个错误不会告诉你具体原因,这对于初学者来说非常令人沮丧。本文将向你展示如何修复 WordPress 中的 503 服务不可用错误。

閱讀更多
  • 2024-07-30
  • WordPress 教学

管理一个企业需要大量的工作。如果您无法正确维护您的 WordPress 网站,可能会迅速看到流量和销售额下降的现象。幸运的是,您可以聘请虚拟助手 (VA) 来帮助管理您的网站。本文将教您如何聘请 WordPress 虚拟助手,以便您可以专注于业务中最重要的活动。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>