Wordpress:在前端检查自定义用户角色
Posted
技术标签:
【中文标题】Wordpress:在前端检查自定义用户角色【英文标题】:Wordpress: check for custom user role in frontend 【发布时间】:2015-12-20 11:16:55 【问题描述】:我只是想在用户具有自定义用户角色时显示一些消息。它适用于本机用户角色,但不适用于自定义角色。这是我的代码:
<?php
$user_ID = get_current_user_ID();
$user = new WP_User( $user_ID );
$current_user = $user->roles[0];
if( $current_user == 'client' )
echo 'hello client';
else
// do nothing
?>
欢迎任何帮助,谢谢!
【问题讨论】:
【参考方案1】:你可以试试这个:
if ( is_user_logged_in() )
global $current_user;
$user_role = $current_user->roles[0];
if($user_role == 'client')
// do something
is_user_logged_in()
用于检查用户是否登录
【讨论】:
原来我在创建自定义用户角色时犯了一个错误。不过,你的方式更好/更干净,谢谢!【参考方案2】:如果用户设置了多个角色,上述示例会出现问题,因为代码只检查用户设置的第一个角色。
理想情况下,您应该检查是否有任何用户角色与自定义角色匹配:
if ( is_user_logged_in() )
global $current_user;
if( in_array('YOUR_CUSTOM_ROLE', $current_user->roles) )
echo 'User has Custom Role';
else
echo 'User does not have Custom Role';
【讨论】:
以上是关于Wordpress:在前端检查自定义用户角色的主要内容,如果未能解决你的问题,请参考以下文章
WordPress:具有自定义角色的用户无法访问 wp-admin
带有upload_files true但edit_post false的Wordpress自定义用户角色,我如何删除和编辑媒体?