Php 显示角色名称(ID)和显示角色名称
这个问题以前有人问过,但没有人回答。 我想显示角色名称和角色ID 就角色ID而言,我正在通过以下方式成功显示:Php 显示角色名称(ID)和显示角色名称,php,arrays,wordpress,wordpress-theming,user-roles,Php,Arrays,Wordpress,Wordpress Theming,User Roles,这个问题以前有人问过,但没有人回答。 我想显示角色名称和角色ID 就角色ID而言,我正在通过以下方式成功显示: if( is_user_logged_in() ) { $user = wp_get_current_user(); $roles = $user->roles; $_SESSION['roles']=$roles[0]; return $roles; } 但是我想显示显示角色名称。 如下图所示,我可以打印
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = $user->roles;
$_SESSION['roles']=$roles[0];
return $roles; }
但是我想显示显示角色名称。
如下图所示,我可以打印高级经理,但无法打印高级经理
我们只需要用
空格和大写的来替换。我们可以使用str\u replace()
和ucwords()
了解更多
从这里开始。我尝试过这个,但它只是返回角色,谢谢。是的,这是可以做到的,效果很好。然而,我只是在WP中寻找可以访问它的内置函数。
<?php
/**
* is_user_logged_in()
* @link https://developer.wordpress.org/reference/functions/is_user_logged_in/
*/
if ( ! is_user_logged_in() ):
/**
* auth_redirect()
* @link https://developer.wordpress.org/reference/functions/auth_redirect/
*/
auth_redirect();
else:
/**
* wp_get_current_user()
* @link https://developer.wordpress.org/reference/functions/wp_get_current_user/
*/
if ( wp_get_current_user()->roles[0] !== '' ):
echo ucwords( str_replace( '_', ' ', wp_get_current_user()->roles[0] ) );
else:
echo "Not available";
endif;
endif; ?>