/**
* Add User Role Class to Body
* Referenced code from http://www.studiok40.com/
*/
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;
}
Il s’agit d’un guide rapide qui explique comment imprimer le rôle d’utilisateur actuel en tant que classe de corps dans l’administrateur WordPress et/ou le frontend, il peut également être utilisé pour imprimer l’ID utilisateur en tant que classe.
Pourquoi voudriez-vous faire cela? Eh bien, si vous avez trouvé cet article, vous avez probablement déjà une raison, nous l’utilisons pour styliser des éléments de page pour certaines classes et même masquer des parties d’une page à un utilisateur à la fois sur le frontend et le backend. Ce n’est pas la meilleure méthode pour masquer des éléments, mais cela peut fournir une solution temporaire.
La fonction ci-dessous détectera l’utilisateur actuel, puis imprimera son rôle et son identifiant en tant que classe de corps dans WP Admin et dans l’interface du site, par exemple, class="administrator user-id-1". Cette fonction ne fonctionnera que si l’utilisateur est connecté.
Vous pouvez utiliser cette fonction dans un plugin MU ou en tant que plugin autonome ou même dans votre thème functions.php.
pour aller plus loin :
https://wpformation.com/must-use-plugins-wordpress/
https://wpformation.com/creer-plugin-wordpress/
exemple d’extension :
<?php
/*
Plugin Name: add_role_and_ID_in_WP_body_class
Plugin URI: https://wordpress.ab-formation.fr/2022/07/04/ajouter-la-class-role-and-user-dans-le-body-wordpress-admin-frontend/
Description: Ajouter le role et l'ID du user connecté dans les class du body en back et front office
Author: VPG sur base code www.studiok40.com
Version: 1.0
Author URI: https://wordpress.ab-formation.fr
*/
/**
* Add User Role Class to Body
* Referenced code from http://www.studiok40.com/
*/
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;
}
Enregistrez le code dans un fichier nommé “add_role_and_ID_in_WP_body_class.php” puis créez une archive ZIP portant le meme nom “add_role_and_ID_in_WP_body_class.zip”