2017-09-26 49 views
1

我有這個功能添加當前用戶角色作爲一個類在正文中。WordPress的:得到當前的用戶角色

add_filter('body_class', 'custom_class'); 
function custom_class($classes) { 
     $classes[] = get_user_role(); 

    return $classes; 
} 

它不工作,我知道這個問題是get_user_role()在這一行:

$classes[] = get_user_role(); 

什麼是錯在這條線?

如果我用這條線來代替,它工作正常:在WordPress

$classes[] = "someText"; 
+1

'get_user_role()'沒有按」 t似乎存在WP? - 你認爲這是一個真正的WP功能還是你自己的自定義功能? – ProEvilz

+0

我認爲這是wp功能。 – JPashs

回答

0

我不能找到get_user_role()函數,我認爲你正在尋找

$current_user = wp_get_current_user(); 

您可以指出該用戶的顯示名稱爲

$current_user->display_name 

,並在體內類功能

add_filter('body_class', 'custom_class'); 
function custom_class($classes) { 
    $classes[] = $current_user->display_name; 

return $classes; 
} 
-1

你可以嘗試使用此代碼

function custom_class($classes) { 
    global $current_user; 
    $user_role = array_shift($current_user->roles); 
    $classes[] = $user_role; 
    return $classes; 
    } 
    add_filter('body_class','custom_class'); 
0

請嘗試以下代碼:

function get_current_user_role() { 
    if(is_user_logged_in()) { 
     $user = wp_get_current_user(); 
     $role = (array) $user->roles; 
     return $role[0]; 
    } 
    else { 
    return false; 
    } 
}