2017-09-26 5 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(); 

この行の何が悪いのでしょうか?

私は、代わりにを、このラインを使用する場合は、罰金に動作します:

$classes[] = "someText"; 
+1

'「get_user_role()' doesnのを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; 
    } 
} 
関連する問題