Sometimes you want to add a body tag for a specific user role. This as you want to hide or show specific parts of a page, or site for a particular user. Here is how you can do just that.
add_filter( 'body_class', 'imwz_role__body_class' ); function imwz_role__body_class( $classes ) {$user = wp_get_current_user();
if ( in_array( 'subscriber', $user->roles ) ) {
$classes[] = 'class-name'; // your custom class name
}
return $classes;
}
As you can see the body_class filter is used. Inside it we get the user role properly using wp_get_current_user and an array checking the roles.
Once done you could see something like this for classes
product-template-default single single-product postid-729 logged-in admin-bar theme-Divi et-tb-has-template et-tb-has-body admin-role woocommerce woocommerce-page woocommerce-js et_bloom et_button_custom_icon et_pb_button_helper_class et_fixed_nav et_show_nav et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns_1_4__1_2 et_cover_background et_pb_gutter osx et_pb_gutters3 et_divi_theme et-db et_minified_js et_minified_css customize-support chrome
waarin class admin-role op basis administrator filter is toegevoegd.
Props Mukto90 https://wordpress.stackexchange.com/a/268178/12260