@hooli-gun

Как добавить свой класс body?

По стандарту код:
<body <?php body_class(); ?>>
Выводит что то такое:
<body class="page page-id-7 page-template page-template-page-example page-template-page-example-php example">

Но как мне добавить каждой странице свой клас?
Например странице контакты класс contact, а странице о нас about.
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 2
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Есть фильтр body_class на котором вы можете добавить в массив собственные классы по условиям. Для решения вашей задачи, можете добавить post slug записи в список классов

function theme_body_classes( $classes ) {

	// Add hfeed class to non-singular pages.
	if ( ! is_singular() ) {
		$classes[] = 'hfeed';
	}

	// Check if site is being viewed from a mobile device.
	if ( wp_is_mobile() ) {
		$classes[] = 'wp-mobile';
	} else {
		$classes[] = 'wp-desktop';
	}

	// Add post slug to list of classes
	if ( is_single() ) {
		$classes[] = get_post_field( 'post_name', get_the_ID() );
	}

	return array_unique( (array) $classes );
}
add_filter( 'body_class', 'theme_body_classes' );
Ответ написан
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
Как вариант через js
let className=document.location.pathname;
document.body.classList.add(className.replace(/\//gi, ''))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы