7折
减价出售
¥799
有时候,在输出或存储某些内容之前,需要检查当前wordpress用户等级权限。WordPress用户角色是通过WP或者其他插件添加的,可以让站长(站长也是角色的一种)方便的管理用户的权限/能力(能力,一般来说一个角色有多个能力,所以是复数)。使用免费插件可以方便地管理wordpress主题每个角色的能力。简单理解,一个角色有一定的能力,是一定能力的代名词。
以前的老方法是这样来判断权限,如下代码:
<?php if (current_user_can('level_10')) : ?>
管理员权限
<?php elseif (current_user_can('level_7')) : ?>
编辑权限
<?php elseif (current_user_can('level_4')) : ?>
作者权限
<?php elseif (current_user_can('level_2')) : ->
投稿者权限
<?php elseif (current_user_can('level_0')) : ?>
订阅者权限
<?php else : ?-->
普通/默认权限
<?php endif; ?-->
这就是current_user_can()来判断登录用户的角色,比如我用current_user_can(‘author ‘)来判断当前用户是否是作者。我记得官方WordPress文档中给出的例子也是这样使用的。不过今天看了文档,好像用法变了。将角色作为参数传递不再可靠。正确的用法是传递$capability。那么如何判断用户角色呢?仍然使用current_user_can()方法,但是传递的参数不同。
判断用户是否为管理员(Administrator)
if( current_user_can( 'manage_options' ) ) {
echo 'The current user is a administrator';
}
判断用户是否为编辑(Editor)
if( current_user_can( 'publish_pages' ) && !current_user_can( 'manage_options' ) ) {
echo 'The current user is an editor';
}
判断用户是否为作者(Author)
if( current_user_can( 'publish_posts' ) && !current_user_can( 'publish_pages' ) ) {
echo 'The current user is an author';
}
判断用户是否为投稿者(Contributor)
if( current_user_can( 'edit_posts' ) && !current_user_can( 'publish_posts' ) ) {
echo 'The current user is a contributor';
}
判断用户是否为订阅者(Subscriber)
if( current_user_can( 'read' ) && !current_user_can( 'edit_posts' ) ) {
echo 'The current user is a subscriber';
}
$current_user是WordPress的一个全局变量。当用户登录时,会有关于用户的角色和权限的信息。
当WordPress的init动作被执行时,你可以安全地使用$current_user全局变量。
减价出售
减价出售
减价出售
减价出售
电话咨询
133-7205-6573
微信咨询