所以我会尽量做到具体一点, 我在woocommerce上有2个不同的类别,每个类别都有不同的标签:
1。代替“数量”->“ LABEL1”。
2。代替“数量”->“ LABEL2”。
我通过修改quantity-input.php来做到这一点:
if (is_page('cart') || is_cart()) {
// If it's the cart page do this
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
// If Cart has category "CATEGORYNAME" do this
if (has_term('CATEGORYNAME', 'product_cat', $cart_item['product_id'])) {
esc_html_e('LABEL1', 'woocommerce');
} else {
esc_html_e('LABEL2', 'woocommerce');
}
}
}
因此,当客户仅添加一个类别的产品时,此方法有效,但是当客户添加另一类别的产品时,我得到LABEL1LABEL2。
foreach循环不应该,循环遍历类别并给我一个不同的标签吗?
我一直在搜索,但是找不到针对此特定问题的解决方案。
答案 0 :(得分:0)
好的,我解决了这个问题,尝试在quantity-input.php文件中循环是错误的,
我通过修改cart.php修复了它。这是我所做的:
echo apply_filters('woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item);
//在此行之后添加:
if ($_product->get_category_ids()[0] == 99) {
echo '<div>';
esc_html_e('LABEL1', 'woocommerce');
echo '</div>';
} else {
echo '<div>';
esc_html_e('LABEL2', 'woocommerce');
echo '</div>';
}
感谢您的帮助!