限制WordPress中的页面以要求登录

屏幕截图2013 07 01在12.23.52 PM

登录锁.jpg本周,我们完成了在客户站点上实现自定义主题的工作,他们要求我们建立某种互动,其中某些页面仅限于注册订户。 最初,我们考虑实现第三方插件,但是解决方案实际上非常简单。

首先,我们将页面模板复制到一个新文件(任何名称都可以,只需维护php扩展名)。 在页面顶部,请确保在页面上添加注释,以便您可以在模板编辑器中按名称查看它:


接下来,在页面代码中查找显示内容的行。 它看起来应该像这样:


现在,您需要在该行中包装一些代码:

仅限订阅者很抱歉,您尝试访问的内容仅限于订阅者。

该代码从检查会话开始,以查看用户是否已登录到您的WordPress网站。 如果他们已登录,则显示内容。 如果未登录,则消息会指出您正在尝试访问受限内容。

为了利用该页面,您需要选择 仅限订阅者 页面选项的高级部分(在侧栏上)中的页面模板。 这会将页面限制为已登录的读者。

如果您真的想花哨的话,也可以在侧边栏中添加一个登录和注销方法:

">登出/wp-login.php">客户登入

28条评论

  1. 1
  2. 2
  3. 3
    • 4

      嗨,Partha,

      那将非常简单–您可以将相同的技术添加到页面的标题,并基本上说……如果(没有userid AND页面不等于页面名称),则标题转发到登录页面。

      道格

  4. 5

    很棒的优雅解决方案! 正是我需要的,我正在认真考虑构建一个外部登录系统。
    这太棒了!

  5. 6
    • 7
      • 8

        它不是用户友好的,但是没关系……我觉得我应该做的一些照片会有所帮助。 否则……我将尝试直到可行为止!

        • 9

          复制page.php,重命名page2.php并在上面插入代码,保存文件,上传回content / theme / whateveritis,转到发布或页面更改默认页面布局为page2.php。 无需创建新的页面样式/布局,只需复制您使用的样式/布局并重命名即可。 所以fullwidth.php就这么简单。

      • 10

        好的,因此,在尝试了很多并观看了Internet上的其他教程之后,我发现制作新页面模板是我的问题。 我在文本编辑器中制作了一个,然后尝试将其上传到…哪里? 我什至不知道去哪里。 我似乎找不到要上传到的秘密位置!

        • 11

          如此,LaRocque! 您需要具有FTP程序并可以访问网站的主题文件夹,以便可以在此处上传文件。 当前无法通过管理屏幕执行此操作。 一种例外是安装“文件管理器”插件,该插件可让您制作新文件。 不过要小心! 

  6. 12
  7. 13
  8. 14
  9. 15
  10. 17
  11. 18
  12. 19

    好的,我咬一口…您将如何修改它以允许检查权限?

    假设–我们仍然希望允许任何人创建自己的“ Subscriber”用户名并发表回复。
    但是–我们只授予管理员指定的用户“仅订阅者”页面的访问权限吗?

  13. 20
  14. 21

    道格拉斯(Douglas)–我使用了您的代码–大部分情况下效果很好! 我的问题是注销链接返回到不存在的站点。 我实际上已经在网上尝试了多个wordpress代码,以使注销代码有效。 。 。 但用户仍保持登录状态,返回的是//wp-login.php?redirect_to=“>log%20in%20%20%20%20%20%20%20%20%20%20%20%20%20 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%XNUMX

    有什么想法吗?

  15. 23

    好的,这正是我需要做的,但我有一个问题。 如果他们不是订阅者,如何显示“登录”或“订阅”框,以便他们可以访问内容?

    谢谢

  16. 25

    感谢您的代码。 会让人们生我的气,但是他们想在某些事情不允许所有人都无法自由访问以便使文件易于查找时登录。

  17. 26

    听起来这种方法很容易受到会话劫持的影响。 登录cookie将在安全区域中添加,但是由于wordpress将此作为非安全cookie,因此,如果用户浏览回未加密的网站部分,则仍将提供登录cookie。

  18. 28

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.