Here’s what I am doing right now.

In my header.php file:

    <?php
        if ( current_user_can( 'subscriber' ) ){
            textdomain_body_classes();
        }
        else {
            relax();
        }
    ?>

In my functions.php class:

function textdomain_body_classes( $classes ) {
$classes[] = 'class-name';
return $classes;
}
add_filter( 'body_class', 'textdomain_body_classes' );

function relax() {
}

I am getting the class, class-name in my body tag when I login as admin as well as when I login with subscriber. Please advice. Thanks.

1 Answer
1

Please try this code instead-

add_filter( 'body_class', 'wpse_268176_body_class' );

function wpse_268176_body_class( $classes ) {

    $user = wp_get_current_user();

    if ( in_array( 'subscriber', $user->roles ) ) {
        $classes[] = 'class-name'; // your custom class name
    }

    return $classes;
}

Place this in your active theme’s functions.php file.

[Thanks Dave Romsey for your suggestion.]

Leave a Reply

Your email address will not be published. Required fields are marked *