body_classхук-фильтрWP 2.8.0

Позволяет изменить список CSS классов, присваиваемых тегу <body>.

Этот хук срабатывает во время вызова одноименной функции body_class(), которую нужно вызывать внутри тега <body <?php body_class( $class ) ?>>

Использование

add_filter( 'body_class', 'wp_kama_body_class_filter', 10, 2 );

/**
 * Function for `body_class` filter-hook.
 * 
 * @param string[] $classes   An array of body class names.
 * @param string[] $css_class An array of additional class names added to the body.
 *
 * @return string[]
 */
function wp_kama_body_class_filter( $classes, $css_class ){

	// filter...
	return $classes;
}
$classes(строка[])
Массив CSS классов, которые будут добавлены к тегу body.
$class(строка[])
Массив дополнительных CSS классов, которые были переданы в качестве параметра в функцию get_body_class( $class ) или body_class( $class ).

Примеры

0

#1 Замена одного класса другим

Живой пример, когда блокировщик рекламы из-за класса single-ads у body накладывал атрибут display: none !important; на страницах записей типа ads. Заменим этот "плохой" класс, чтобы блокировщик не реагировал.

add_filter( 'body_class', 'remove_body_ads_class' );

function remove_body_ads_class( $classes ) {

	foreach ( $classes as $index => $class ) {
		if ( 'single-ads' === $class ) {
			$classes[ $index ] = 'single-money';
		}
	}

	return $classes;
}

Список изменений

С версии 2.8.0 Введена.

Где вызывается хук

get_body_class()
body_class
wp-includes/post-template.php 857
$classes = apply_filters( 'body_class', $classes, $css_class );

Где используется хук в WordPress

Использование не найдено.