handiworknyccom
  • 0
Новичок

Пользовательский тип сообщения и body_class: удалить класс «блог»

  • 0

Я использую body_class(); для стилизации различных разделов сайта WordPress по их классу тела. Стили страниц происходят от .page-template, стили блога происходят от .single-post и/или .blog и т. д.

Я создал настраиваемый тип сообщения «Продукты» для раздела продуктов на сайте и хочу стилизовать этот раздел, специально используя его класс тела, но, к сожалению body_class();, также присваиваю отдельным страницам настраиваемого типа сообщения класс, .blog который создает многие стили блога. переопределить стили продукта — очень неприятно.

Есть ли способ убрать класс «блог» для отдельных страниц моего пользовательского типа сообщений?

Спасибо!

Share
  1. Вы можете использовать body_class фильтр, чтобы проверить, находитесь ли вы в своем пользовательском типе сообщений, и если да, то просто удалите blog класс следующим образом:

     function remove_blog_from_cpt_classes($classes, $class){
        global $post;
        if ($post->post_type != "products"){
            return $classes;
        }else{
            foreach($classes as &$str){
                if(strpos($str, "blog") > -1){
                    $str = "";
                }
            }
        }
        return $classes;
    }
    add_filter("body_class", "remove_blog_from_cpt_classes", 10, 2);
    

    Надеюсь это поможет

    • 0

Оставить ответ

You must login to add an answer.