像标题中所述,我试图基于/ cart中的产品数组或类别隐藏div。
我们有一个名为“ DRTV”的类别。如果购物车中有该类别的产品,我希望它隐藏“免费”类。
我从Bloomer找到了一些我已修改的PHP:
function bbloomer_find_id_in_cart() {
global $woocommerce;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values) {
$product = $values['data'];
if ( in_array( 'DRTV', $categories ) ) {
.freeship {display:none}
}
}
}
有人可以在正确的道路上帮助我吗?
答案 0 :(得分:0)
我正在从手机和内存中键入内容,因此很抱歉没有提供确切的代码行,但是逻辑将分3个步骤进行。
<body>
标签上使用。基本上,您想添加一个新类,例如“ hide-freeshipping” 关于T。
答案 1 :(得分:0)
最简单的方法(如Tagr所述)是通过body_class
操作/过滤器将一个类添加到主体,并基于该主体类将其隐藏在CSS中。下面是一个有效的示例。
PHP看起来像这样:
add_filter( 'body_class', 'check_for_drtv' );
function check_for_drtv( $classes ) {
$drtv_check = false;
foreach ( WC()->cart->get_cart() as $key => $cart_item ) {
$product = $cart_item['data'];
if ( has_term( 'DRTV', 'product_cat', $product->id ) ) {
$drtv_check = true;
break;
}
}
if ( $drtv_check ) {
$classes[] = 'drtv-in-cart';
}
return $classes;
}
然后您的CSS就是:
body.drtv-in-cart .freeship {
display: none;
}