在 Woocommerce 我的帐户页面中显示当前用户角色

Display Current User Role in Woocommerce My account page

我想在我的自定义帐户页面上显示带有简码的用户角色名称。我找到了这个代码,但是由于我的弱PHP.

,我无法使用它
add_action( 'wp_head', 'njengah_get_current_user_role'); 

function njengah_get_current_user_role() {

 if( is_user_logged_in() ) { // check if there is a logged in user 
 
         $user = wp_get_current_user(); // getting & setting the current user 
     $roles = ( array ) $user->roles; // obtaining the role 
 
        return $roles; // return the role for the current user 
 
     } else {
     
        return array(); // if there is no logged in user return empty array  
 
     }
}

另外,我找到了这个,但由于同样的原因我无法使用它:

wp_head 动作挂钩不用于在内容区域打印任何数据。它由 wp_head() 函数在主题 header.php 模板的 <head></head> 部分触发。因此它不会在您的 my-account 页面上打印值。

您应该直接在自定义我的帐户页面中调用该函数。

function njengah_get_current_user_role() {
     global $wp_roles;
     if( is_user_logged_in() ) {
        $user = wp_get_current_user();
        $roles = ( array ) $user->roles;
        $role = $roles[0]; 
        return translate_user_role($wp_roles->roles[$role]['name']);
     } else {
        return array();
     }
}

然后只需从您自定义的“我的帐户”页面调用该函数即可。

echo njengah_get_current_user_role();