如何密码保护 WordPress 文章和页面

WordPress 作为内容发布平台,每篇文章(Post)和页面(Page)都有3个可见性(Visibility)的选项可选,它们是:

  1. 公开(Public):默认选项,所有人可见。
  2. 私密(Private):只有管理员(admins)和编辑(editors)可见。
  3. 密码保护(Password Protected):受您选择的密码保护,只有持有密码的人士可查看此文章或页面。

3个选项中私密和密码保护的选项是被许多初学者经常忽略的,我就是其中一位,因为当时并不了解这些选项是为了什么目的而存在,直到需要的时候。

假如您创建的某些文章或页面,只想给家人、亲戚、朋友,以及特定用户或人士看见,那密码保护是一个非常好的选项,私密也是如此。

我们只需在编辑(Edit)文章或页面内,以及在快速编辑(Quick Edit)里设置即可:

在 WordPress 编辑页面或文章内设置可见性
在编辑文章或页面内更改可见性
在 WordPress 快速编辑里设置可见性
在快速编辑里设置可见性

设置为私密的文章和页面必须在 WordPress 管理员和编辑人员登入后才可看得见,但密码保护的文章则会在档案页面里被注明是一篇受密码保护的文章,访客可以发现它的存在。

以我们的部落格档案页面里的受密码保护的文章(如何使用没有 CDN WAF Cloudflare DNS)为例,如下图:

WPMeow 网站的部落格档案页面里受密码保护的文章
WPMeow 网站的部落格档案页面

可以把受密码保护的文章在档案页面里隐藏起来吗?

可以,需要添加以下代码在子主题(Child Theme)的 functions.php 文件即可隐藏起来,或者使用 Code Snippets Advanced Scripts for WordPress 等代码片段管理插件来添加这些代码。

/*
 * hide password protected posts
 */
function exclude_password_protected( $where = '' ) {
    if ( ! is_single() && ! is_user_logged_in() ) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'exclude_password_protected' );

添加以后,访客将不会在档案页面里看见受密码保护的文章存在,只有有该文章网址和密码的人才能看见和阅读。

但注意的是,如果您有启用小工具(Widgets)里的近期文章(Recent Posts)在文章(Posts)和页面(Pages)处,文章的侧边栏(Sidebar)还是可以看见受密码保护的近期文章存在,但页面的侧边栏则不会看见。

分享:

留下评论