Wordpress限制游客访问权限(免插件) 实现禁止游客访问功能

一个不太常用的功能,百度了下,貌似没有找到相关文章。本文章教程针对有特定需求的博主,

要想自由的控制用户对你的WordPress博客的访问。你可以设定只有注册登录后的用户才能访问你的网页,思路其实很简单,先执行login.php 页面,当用户名和密码正确之后再转入index.php。

谈不上什么技术啦!简单说说操作方法

首先要达到用户登录可见网页内容的效果,那么首先肯定是对用户的一个判断。根据相对应的权限进行给予浏览和操作;


我们所用到的wordpress函数是
is_user_logged_in()   【判断用户是否已经登录】

auth_redirect()          【将用户引导到登录页面】

我们首先进行第一步:自定义函数
在当前主题的function.php中添加如下代码

  1.     /*判断用户是否登录*/  
  2.     function liveme_if_login() {   
  3.       if (!is_user_logged_in()) {   
  4.       auth_redirect();   
  5.       }   
  6.     }  
复制代码

在接着进行第二步:调用自定义函数
在当前主题的header.php中添加如下代码:

  1. <?php liveme_if_login(); ?>
复制代码

现在就可以实现用户只有登录后才可以访问站点了。是不是觉得很简单,按照我的思路走下去,其实也是可以实现多种限制规则的。

现在我们开始拓展


如果你是想针对其中的某几篇文章或者某个分类的文章,又或者是某个页面添加该功能,也不是很难的事情。举个例子,如果你想对其中某几篇文章进行限制,你可以如法炮制:

  1. function liveme_if_login() {   
  2. global $post;   
  3. if (!is_single()) return;   
  4. $ids = array(188, 185, 171); // array of post IDs that force login to read   
  5. if (in_array((int)$post-&gt;ID, $ids) &amp;&amp; !is_user_logged_in()) {   
  6. auth_redirect();   
  7. }  
复制代码

说明:array中的那几个数字便是你想要进行限制的文章ID(怎么看文章ID?既可以看数据库,也可以进入该文章的编辑状态,地址栏中的“post=”后面的数字便是该文章的ID)】

如你只想对所有的具体文章页面进行限制,而其他的分类页面和首页等不进行限制,那么,你也可以这样:

  1. function liveme_if_login() {   
  2.   if (is_single() &amp;&amp; !is_user_logged_in()) {   
  3.   auth_redirect();   
  4. }   
复制代码

经过耕博这么详细的讲解,相信各位童鞋已经不难看出是其中的is_single()起了位置判断的作用,那么你可以以此类推,对其他的页面进行自定义。我就不在一一举例说明了。

本文参考资料:(wordpress官方文档


最后在啰嗦一句,插件的方法也是有的,安装Member only插件基本可以使得WordPress具备访问控制功能,满足大家的需求。

欢迎大家转载,文章地址 http://www.xgyeye.com/xian-zhi-you-ke-fang-wen.html





补充内容 (2013-4-11 11:36):
文章地址变更:http://jswp.org/xian-zhi-you-ke-fang-wen.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值