Имам тази функция да добавя текущата роля на потребителя като клас в тялото.
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");