Posted on 04-02-2015
Filed Under (技术) by waterlin

WordPress 是一个针对公众阅读的博客系统,所以原生系统对阅读权限的设置并不出色,比如说系统就不提供限制为只允许登陆用户查看文章(或是查看指定目录、标签文章)的功能。WordPress 更像一个私人出版系统,所以这些功能不完善也可以理解。

对于我自己来说,我有一个自己的小博客系统,用来记录一下生活中的事情,这些内容并非不可公开,只是没有太多必要公开,因为我只是想写给自己看一下,并且其他人看这样的生活琐事并没有什么太大的价值。我想把这个做成自己的 QQ 空间,想让我允许的人来观看,仅此而已,不希望这个自留地太过于吵杂。

或者有人会问,那你为什么不用 QQ 空间?很简单,我不喜欢,太杂乱了,乱七八糟的广告、无聊的功能太多了。

要把 WordPress 加上一个授权用户才可以访问的权限也很简单,虽然有几个插件能实现这样的功能,但是反响并不好。最好的办法就是自己来 DIY 模板,这篇文章就对这个问题进行了详细的讨论,我这里加上一点自己的使用体会。

1. 先在模板的 functions.php 文件里定制一个用户权限检查的函数

最简单的,对于登陆用户的权限检查可以使用下面的例子代码:

如果你需要更严格一点,比如说需要确定本用户是属于这个博客的(现在的 WordPress 支持多博客),可以使用类似下面的代码,重点是使用了 is_user_member_of_blog 这个函数:

如果你需要更复杂的权限控制,比如说用户需要是这个博客的订阅者、作者或是管理员等级别的身份,可以使用 WordPress 的 user_can 函数来进行更复杂的用户身份查询。

2. 在特定的地方使用这个权限检查函数来约束用户

这里举一个最简单的使用例子,比如说在 header.php 使用上面这一个函数:

上述代码很简单,但是很容易对其进行扩充,可以在其它你需要限制用户权限进行阅读的地方添加上述代码,比如说针对某个目录或是某个标签的浏览等。

3. 小结

这样如果用户需要查看你的 WordPress 博客,则一定需要登陆并拥有特定的权限了。通过这种方式修改过的模板要注意,如果升级了模板,则需要手动把这些修改合并到最新的模板代码里。

© 2015, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

(0) Comments    (581) Views    Read More   
Post a Comment
Name:
Email:
Website:
Comments: