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