北极寒流 » 网络资源 » WordPress判断用户等级显示相应内容 - 2014.11.25

WordPress判断用户等级显示相应内容

实现方法

<?php if( !current_user_can('administrator') ) {
echo '这段文字在非管理员角色才会显示,因为判断函数前加了感叹号。';
}?>

判断是否管理员

<?php if( current_user_can('administrator') ) {
echo '这段文字只会在“管理员”角色登录后显示。';
}?>

判断是否编辑

<?php if( current_user_can('editor') ) {
echo '这段文字只会在“编辑”角色登录后显示。';
}?>

判断是否作者

<?php if( current_user_can('author') ) {
echo '这段文字只会在“作者”角色登录后显示。';
}?>

判断是否投稿者

<?php if( current_user_can('contributor') ) {
echo '这段文字只会在“投稿者”角色登录后显示。';
}?>

判断是否订阅者

<?php if( current_user_can('subscriber') ) {
echo '这段文字只会在“订阅者”角色登录后显示。';
}?>

根据权限判断角色

有些时候因为某些原因用户角色权限会被修改,所以这个时候再用以上代码直接判断用户角色可能就实现不到我们想要的功能了,但我们还可以通过区分权限来区分角色。

<?php

if( current_user_can( ‘manage_options’ ) )
{ echo ‘这段文字只会在“管理员”角色登录后显示。’; }

if( current_user_can( ‘publish_pages’ ) && !current_user_can( ‘manage_options’ ) )
{ echo ‘这段文字只会在“编辑”角色登录后显示。’; }

if( current_user_can( ‘publish_posts’ ) && !current_user_can( ‘publish_pages’ ) )
{ echo ‘这段文字只会在“作者”角色登录后显示。’; }

if( current_user_can( ‘edit_posts’ ) && !current_user_can( ‘publish_posts’ ) )
{ echo ‘这段文字只会在“投稿者”角色登录后显示。’; }

if( current_user_can( ‘read’ ) && !current_user_can( ‘edit_posts’ ) )
{ echo ‘这段文字只会在“订阅者”角色登录后显示。’; }

?>

WordPress 会员等级
首先先来了解WordPress会员的等级区分:

管理者:Administrator: level 10
编辑:Editor: Level 7
作者:Author: Level 4
撰写人员:Contributor: Level 2
订阅者:Subscriber: Level 0
一般访客(非会员): Level 在 0 以下
以下将使用官方提供的函数: current_user_can 来做会员等级区分.

仅允许管理员可浏览
<?php global $user_ID; if( $user_ID ) : ?>

<?php if( current_user_can('level_10') ) : ?>

这里显示的内容为管理员可以看到的.

<?php endif; ?>

<?php endif; ?>

依照会员等级显示不同的内容
<?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; ?-->

25

WordPress判断用户等级显示相应内容

分享到: