WordPress как на ладони

body_class() Добавление классов к поcтам по slug ?

При создании кастомной темы WP пробую вывести в тег body дополнительные классы если пользователь переходит на страницу бонусов или новостей (example.com/bonuses/ example.com/news/), (классы page_bonuses и page_news соответственно), но почему-то ничего не происходит

function my_body_class_filter($classes)
{
	if( is_single('bonuses') ){

		$classes[] = 'page_bonuses';
	}elseif (is_single('news') ){
		$classes[] = 'page_news';
	}
	return $classes;
};

<body class="body" <?php body_class(add_filter('body_class', 'my_body_class_filter')); ?> >

что не так я прописываю в условных тегах ?

0
BlackStar1991
5.8 лет назад 9
  • 0

    В твоём случае надо так:

    add_filter( 'body_class', function ( $classes ) {
    	if ( is_singular() && ! is_front_page() ) {
    		$classes[] = 'page_' . get_queried_object()->post_type;
    	}
    
    	return $classes;
    } );
    
    ...
    
    <body <?php body_class('body'); ?>>
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация