/ / Wordpress: получите текущата роля на потребителя - wordpress, функция

Wordpress: вземете текущата роля на потребителя - 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 за отговор № 1

не мога да намеря функция get_user_role () в wordpress

Мисля, че търсите

$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;
}

0 за отговор № 2

Моля, опитайте кода по-долу:

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

-1 за отговор № 3

можете да опитате да използвате този код

  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");