如何制作 WordPress 私有页面(3 种方法)
已发表: 2023-03-23在 WordPress 中,页面和帖子都默认可供公众访问。 这通常没问题,但通常情况下您会想要限制访问。 有多种方法可以使 WordPress 页面私有化,包括使用 WordPress 中的内部工具、通过编辑主题和使用插件。
最好的方法取决于您要实现的目标。 如果您想制作一个只能由站点编辑和管理员查看的私人页面,或者根据密码限制访问,WordPress 中的工具非常有用。
不幸的是,内部工具有其局限性。 如果您的目标是将内容限制为已登录的用户或某些付费或非付费会员级别,则您需要使用其他方法。
什么是私有页面?
一个 WordPress 私有页面就是:私有。 您网站上的大部分内容都可供公众访问,但私人页面只能由某些人访问。 私人帖子本质上是同一件事,但帖子而不是页面。 下面概述的方法适用于这两种内容类型。
至少有三种不同的方法可以使您的 WordPress 内容私有化:
- 改变可见性。
- 用密码保护它。
- 根据用户级别限制访问。
您使用的确切方法取决于您要实现的目标。 您可以使用 WordPress 中的内置工具将您网站上的任何帖子或页面从公开更改为私有,然后只需轻轻一按即可恢复。 受密码保护的 WordPress 帖子和页面同样易于设置,并确保只有拥有密码的用户才能查看内容。 不幸的是,这两种方法的范围都有限。
对于 WordPress 私人页面和帖子,只有具有编辑或管理员访问权限的用户才能查看设置为“私人”可见性的帖子或页面。 除了将其公开或为其设置密码外,无法授予其他用户级别的访问权限。
可以用密码保护您想要设为私有的每一个内容,但这是以糟糕的用户体验为代价的。
创建私人页面或帖子
第一步是通过在 WordPress 管理菜单中选择“页面”并单击“添加新”来创建一个新页面。 您还可以通过选择现有页面然后执行此过程的其余部分来更改现有页面的隐私。
![通过 WordPress 的主“页面”页面](/uploads/article/46966/gNo3o7epBV0azPE6.png)
接下来,找到编辑窗口右侧的“摘要”部分,然后单击“可见性”。 这将打开一个模式,让您从三个选项中进行选择:
- 公共:所有页面和帖子的默认设置。
- 私人:这将限制站点管理员和编辑的可见性。
- 密码保护:此设置限制输入正确密码的访问者的可见性。
![通过 WordPress 的私人页面](/uploads/article/46966/832MZfqeQmKIOGRf.png)
一般来说,您最好使用另一种技术来管理用户对内容的访问,但在某些情况下,密码保护可以完成这项工作。 它还具有免费和易于设置的双重优势。 只需单击“密码保护”,输入您的密码,即可完成。
![通过 WordPress 的密码保护页面](/uploads/article/46966/JZI2WOpx5wmhTkAU.png)
主要缺点是密码仅作为您的用户群是安全的。 内置工具可让您为页面或帖子设置一个密码。 无法在每个用户的基础上随机生成它们,也无法阻止用户共享它们。 您可以经常更改它们,但这会增加您的工作量,只会让用户体验更差。
“门控”内容是将部分 WordPress 网站设为私有的最常见原因之一。 通常这意味着将这些帖子、页面和下载限制为注册用户,这是内部工具不会做的。
在下一节中,我们将讨论如何限制对具有子主题的内容的访问,以及查看一些用于根据用户访问权限制作私人页面和帖子的可用插件。
基于用户限制访问
WordPress 内部工具有其用途,但它们无法为您提供确保只有登录用户才能访问帖子或页面的方法。 为此,我们建议修改子主题的functions.php
文件或使用插件。
使用子主题使内容私有
可以通过修改主题中的functions.php
文件来限制用户访问。 该文件本身位于wp-content/themes/name_of_theme
中。
使用此技术的第一步是创建子主题。 我们不建议直接对您的父主题进行更改,因为一个错误可能会对您网站的呈现产生广泛的影响。 此外,在某个时候该主题可能会收到更新。 您对父主题所做的任何修改都将被更新清除。
创建子主题后,下一步是将一些自定义代码添加到其functions.php
文件中。
此解决方案将允许登录用户访问帖子或页面,同时让未登录的用户进入登录页面。
下面的代码由以下元素构成:
-
template_redirect
挂钩:它在 WordPress 选择要加载的模板之前执行。 -
get_queried_object_id()
函数:读取用户当前页面的 ID。 - 页面 ID 数组:这将告诉函数将哪些页面限制为登录用户。
下面的示例使用名为private_pages
的数组,设置为限制页面 ID 2、15 和 17。您需要在此处插入您自己的页面 ID 才能使代码正常工作。 您还需要将“LINK_TO_LOGIN_PAGE”替换为登录或注册页面的链接。
![](https://s.stat888.com/img/bg.png)
~~~ if( !function_exists('private_logged_in_users') ): add_action( 'template_redirect', 'private_logged_in_users' ); function private_logged_in_users(){ /* Reads the current page ID */ $page_id = get_queried_object_id(); /* List of IDs restricted to logged-in users */ $private_pages = [ 2,15,17, ]; if( ( !empty($private_pages) && in_array($page_id, $private_pages) ) && !is_user_logged_in() ): wp_die('To view this content, please <a href="LINK_TO_LOGIN_PAGE" target="_blank">log in or register.</a>'); return; exit; endif; } endif; ~~~
这种技术的缺点之一是您想要设为私有的帖子和页面可能不是静态的。 每次添加新的门控内容时,都必须更新数组中的页面 ID。
此外,这不允许您根据会员级别、付费会员等限制访问。只要用户登录,他们就会看到内容。
使用插件使 WordPress 页面私有化
使用插件管理私人页面和帖子有很多好处。 他们通常提供的功能不仅仅是根据用户级别使帖子无法访问,还允许您根据需要限制内容。
限制内容
![限制内容标志](/uploads/article/46966/937NfGQ5tU0Il1KO.png)
Stellaris 的这个会员插件承诺“完全控制谁可以和不能查看您 WordPress 网站上的内容。” 免费版本允许您创建多个会员级别并限制对帖子、页面、媒体、自定义帖子类型和 API 请求的访问。 可以使用免费的 Stripe 插件来收取借记卡和信用卡付款。
安装并激活插件后,您可以通过内容编辑窗口中的下拉菜单限制任何内容。
![限制内容插件下拉菜单](/uploads/article/46966/wXiRIY8lt24uB9oc.png)
有很多选项可用于限制对您的内容的访问,包括将其限制为任何访问级别的成员、任何付费级别的成员以及特定级别的成员。
匿名限制内容
![匿名限制内容徽标](/uploads/article/46966/yXWyZjOwSqSXi1wo.jpeg)
该插件提供了一种将内容限制为授权用户的简单方法。 安装和激活后,Anonymous Restricted Content 会将“Restricted Content”添加到 WordPress 仪表板的“设置”菜单中。 从那里,您只需填写一些有关您希望用户重定向到的页面以及您希望在登录页面上显示的消息的详细信息。
![匿名限制内容插件设置页面](/uploads/article/46966/hGegFAywKGIRYeuT.png)
匿名受限内容允许您将内容限制为批量操作。 只需转到 WordPress 网站的“帖子”或“页面”部分,选中要限制的内容项,然后从批量操作下拉菜单中选择“限制匿名”。
内容控制
![内容控制插件徽标](/uploads/article/46966/BwuWay9upZ8iifN7.png)
此插件允许您将对页面和帖子的访问限制为登录用户、特定用户角色和注销用户。 内容控制使您能够使用短代码限制内容的某些部分。 此外,您可以使用该插件按用户和访问级别控制侧边栏和页脚小部件的可见性。
安装和激活后,该插件会将“内容控制”添加到您的“设置”菜单中。 从那里,单击“添加限制”将打开限制编辑器,使您可以根据自己的需要定制受限制的内容。
结论
WordPress 提供了制作私人帖子和页面的不同途径。 最佳使用方法取决于您的目标。 WordPress 内部工具非常易于使用且工作完美,但它们仅限于密码保护或仅允许管理员和编辑查看内容。
我们概述的用于创建带有子主题的私人帖子和页面的方法也有限制。 每次添加新的私有内容都需要手动更新functions.php
文件中的页面ID数组,并且只限制未登录用户查看内容,无法根据访问级别限制内容. 有一些方法可以解决这些限制,但它们需要更高级的编码技能。
正确的插件可以帮助您将页面、帖子和其他内容标记为私有,但也可以根据比简单登录更严格的要求限制访问:访问级别、付费会员资格等。 根据您的具体目标,插件可能是将某些 WordPress 页面设为私有并限制对您的内容的访问的最佳和最简单的方法。
使用 WP Engine 的托管托管让您可以更好地控制究竟谁可以访问您的网站。 使用 Web 规则引擎,您可以阻止对私有文件的直接访问、限制来自特定国家或地区的访问、重定向页面等等。
了解有关行业领先的 WordPress 托管的更多信息,包括 WP Engine 上屡获殊荣的 24/7/365 支持。