Я хотел бы знать, как применить этот код 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' );
По сути, конечная цель состоит в том, чтобы определенные продукты можно было добавлять в корзину и отображать цены и оформление заказа, но чтобы эти параметры и информация были скрыты в подавляющем большинстве продуктов и на веб-сайте. Спасибо
Проверьте сгенерированный исходный код HTML, чтобы узнать, действительно ли класс вашей категории добавляется к элементу body.
Проверено инспектором, класс CSS действительно добавляется в тег body.
Спасибо @KodosJohnson Ваш первый комментарий сработал!
Очень рад, что смог помочь






Добавьте 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;
}
Я просто собираюсь сказать, что вам нужен
body:not(.product_cat_Category1) .custom-single-product ...и т. д. В вашем наборе правил css.