web-dev-qa-db-ja.com

ログインしているユーザーが購読者の場合、私はbodyタグに新しいクラスを追加しています。助けが必要です

これが私が今やっていることです。

私のheader.phpファイルでは:

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

私のfunctions.phpクラスで:

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

function relax() {
}

Adminとしてログインしたときだけでなく、加入者でログインしたときにも、bodyタグにclass、class-nameが含まれます。アドバイスを下さい。ありがとう。

1
Asem J Syed

代わりにこのコードを試してみてください-

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

これをあなたのアクティブなテーマのfunctions.phpファイルに置きます。

[あなたの提案をありがとうDave Romsey。]

1
mukto90