web-dev-qa-db-fra.com

J'ajoute une nouvelle classe à ma balise body si l'utilisateur connecté est abonné, a besoin d'aide

Voici ce que je fais en ce moment.

Dans mon fichier header.php:

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

Dans ma classe functions.php:

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

function relax() {
}

Je reçois la classe, nom-classe dans ma balise body lorsque je me connecte en tant qu'administrateur, ainsi que lorsque je me connecte avec un abonné. S'il vous plaît des conseils. Merci.

1
Asem J Syed

S'il vous plaît essayez ce code à la place-

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;
}

Placez ceci dans le fichier functions.php de votre thème actif.

[Merci Dave Romsey pour votre suggestion.]

1
mukto90