Ajouter le rôle utilisateur comme classe de la balise

Parfois, la façon la plus simple et rapide de modifier l’apparence de notre site WordPress selon le rôle utilisateur est d’utiliser du code CSS qui diffère d’un rôle à l’autre. Le problème? Il n’y a pas de façon native dans WordPress d’attribuer une classe CSS selon le rôle de l’utilisateur connecté. La solution? Ajouter le rôle comme classe CSS du body!

Voici comment faire

Vous n’avez qu’à coller ce code dans le fichier functions.php de votre thème enfant, ou encore dans un fichier de plugin personnalisé.

				
					/**
 * Add User Role Class to Body
 */
function print_user_classes() {
    if ( is_user_logged_in() ) {
        add_filter('body_class','class_to_body');
        add_filter('admin_body_class', 'class_to_body_admin');
    }
}
add_action('init', 'print_user_classes');
 
/// Add user role class to front-end body tag
function class_to_body($classes) {
    global $current_user;
    $user_role = array_shift($current_user->roles);
    $classes[] = $user_role.' ';
    return $classes;
}
 
/// Add user role class and user id to front-end body tag
 
// add 'class-name' to the $classes array
function class_to_body_admin($classes) {
    global $current_user;
    $user_role = array_shift($current_user->roles);
    /* Adds the user id to the admin body class array */
    $user_ID = $current_user->ID;
    $classes = $user_role.' '.'user-id-'.$user_ID ;
    return $classes;
    return 'user-id-'.$user_ID;
}
				
			

Source : lakewood.media

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.