Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示角色名称(ID)和显示角色名称_Php_Arrays_Wordpress_Wordpress Theming_User Roles - Fatal编程技术网

Php 显示角色名称(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; } 但是我想显示显示角色名称。 如下图所示,我可以打印

这个问题以前有人问过,但没有人回答。 我想显示角色名称和角色ID

就角色ID而言,我正在通过以下方式成功显示:

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; ?>