Добавить собственный класс в <body>на основе назначенного тега - PullRequest
0 голосов
/ 03 августа 2020

Wordpress cms. У меня есть специальная таксономия - csgroup, и ее термин - страница экспертизы. Мне нужно добавить настраиваемый класс new-class в <body>, когда я назначаю странице термин «страница экспертизы». Вот функция в файле function. php, но это не работает:

function custom_body_classes( $classes ){
    if ( is_tag('csgroup', 'expertise-page') ) {
        $classes[] = 'new-class';
    }
    return $classes;
}
add_filter( 'body_class', 'custom_body_classes' );

1 Ответ

2 голосов
/ 03 августа 2020

is_tag (); функция будет работать только на страницах архива тегов, а не на каждой странице, посте или произвольном типе поста; который, я думаю, вы ищете.

Чтобы проверить, назначен ли какой-либо термин (например, страница экспертизы) из таксономии (например, csgroup) текущему сообщению, странице или настраиваемому типу сообщения; вам нужно будет использовать функцию has_term () из WordPress.

Эта функция подтверждает, имеет ли текущая страница, сообщение или пользовательский тип сообщения желаемый термин таксономии, прикрепленный к нему.

Вы можете узнать больше об этой функции и многом другом в документации разработчика WordPress. Вот ссылка на него; has_term ()

Надеюсь, это объясняет и решает вашу проблему.

function custom_body_classes( $classes ){
    if ( has_term('expertise-page', 'csgroup') ) {
        $classes[] = 'new-class';
    }
    return $classes;
}
add_filter( 'body_class', 'custom_body_classes' );
...