wordpress 登录相关的几个函数和变量 判断登录用户的角色
1.is_user_logged_in函数
说明
根据当前访问者是否登录返回布尔值true或false。
用法
<?php if (is_user_logged_in()){ ... } ?>
示例
根据当前访问者的登录情况,使用is_user_logged_in() 函数在主题文件中展示不同输出结果。
<?php if (is_user_logged_in()){ echo "Welcome, registered user!"; } else { echo "Welcome, visitor!"; }; ?>
参数
该函数不接受任何参数。
2.current_user_can()函数
current_user_can() 可以根据不同角色拥有的权限来判断用户角色,具体的用户权限,可以在Roles and Capabilities 中找到。
判断用户是否为管理员(Administrator)
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
if( current_user_can( 'manage_options' ) ) {
echo 'The current user is a administrator';
}
[/pcsh]
3.$current_user 变量
$current_user是WordPress的一个全局变量,当用户登录后,这个里面就会有用户的角色和权限信息。
当WordPress的init action执行后,就可以安全的使用$current_user全局变量了。
在模板文件中判断登录用户是否为作者(Author)
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
global $current_user;
if( $current_user->roles[0] == 'author' ) {
echo 'The current user is an author';
}
[/pcsh]
在functions.php中判断用户是否为作者(Author)
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
add_action( 'init', 'check_user_role' );
function check_user_role() {
global $current_user;
if( $current_user->roles[0] == 'author' ) {
echo 'The current user is an author';
}
}
[/pcsh]
检查用户角色之前,还可以先检查一下用户是否登录
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
<?php
if( is_user_logged_in() ) {
//用户已登录,检查用户角色
}
?>
[/pcsh]
还有一种更直接的方法,例如判断当前用户是否为管理员
[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]
global $current_user;
if(in_array( 'administrator', $current_user->roles )){
echo 'administrator';
}
[/pcsh]
最后更新于 2017-03-17 15:58:08 并被添加「wordpress is_user_logged_in current_user_can $current_user」标签,已有 682 位童鞋阅读过。
此处评论已关闭