Как применить CSS ко всем страницам, кроме определенных страниц продуктов в Wordpress / Woocommerce?

Я хотел бы знать, как применить этот код CSS к каждой странице моего веб-сайта, кроме продуктов woocommerce с категорией «Категория1».

.custom-single-product .cart, span.woocommerce-Price-amount.amount, a.cart-customlocation.et-cart-info {
    display: none !important;
}

Я попытался добавить класс категории к тегу с помощью php, используя приведенный ниже код, но мне не удалось заставить его работать так, как я хочу.

// add taxonomy term to body_class
function woo_custom_taxonomy_in_body_class( $classes ){
  if ( is_singular( 'product' ) )
  {
    $custom_terms = get_the_terms(0, 'product_cat');
    if ($custom_terms) {
      foreach ($custom_terms as $custom_term) {
        $classes[] = 'product_cat_' . $custom_term->slug;
      }
    }
  }
  return $classes;
}
add_filter( 'body_class', 'woo_custom_taxonomy_in_body_class' );

По сути, конечная цель состоит в том, чтобы определенные продукты можно было добавлять в корзину и отображать цены и оформление заказа, но чтобы эти параметры и информация были скрыты в подавляющем большинстве продуктов и на веб-сайте. Спасибо

Я просто собираюсь сказать, что вам нужен body:not(.product_cat_Category1) .custom-single-product ... и т. д. В вашем наборе правил css.

Cave Johnson 25.06.2018 20:34

Проверьте сгенерированный исходный код HTML, чтобы узнать, действительно ли класс вашей категории добавляется к элементу body.

Cave Johnson 25.06.2018 20:39

Проверено инспектором, класс CSS действительно добавляется в тег body.

Brian Duncan 25.06.2018 20:44

Спасибо @KodosJohnson Ваш первый комментарий сработал!

Brian Duncan 25.06.2018 20:50

Очень рад, что смог помочь

Cave Johnson 25.06.2018 20:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
5
305
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте body:not(.product_cat_Category1) к каждому правилу CSS. Так должно получиться так:

body:not(.product_cat_Category1) .custom-single-product .cart, body:not(.product_cat_Category1) span.woocommerce-Price-amount.amount, body:not(.product_cat_Category1) a.cart-customlocation.et-cart-info {
    display: none !important;
} 

Другие вопросы по теме