如何在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-12-12
  • WordPress 教学

多语言表单有助于与全球观众沟通,使您的网站更易于使用,并吸引更多用户。本文介绍了如何使用WPForms和Formidable Forms插件在WordPress中创建多语言表单,以帮助您轻松实现这一目标。

閱讀更多
  • 2024-10-21
  • WordPress 教学

如果您在WordPress管理区域或其他地方遇到‘jQuery未定义’错误,不必担心,这是一个常见的问题。本文为您介绍了该错误的原因以及六种解决方法,以便让您的网站恢复正常运行。

閱讀更多
  • 2024-10-17
  • WordPress 教学

越来越多的人倾向于使用语音搜索而不是在搜索栏中输入关键词。语音搜索被认为是在线交互的未来,各种设备上数百万人每天都在使用它。与通过普通SEO优化网站一样,将网站适配语音搜索同样重要。在本文中,我们将深入探讨为什么语音搜索SEO如此重要,以及如何优化您的WordPress网站以捕获这些语音搜索。

閱讀更多

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