当2个不同类别的产品时,更改woocommerce购物车页面中的“数量”文本

时间:2018-11-19 12:54:16

标签: php wordpress woocommerce

所以我会尽量做到具体一点, 我在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循环不应该,循环遍历类别并给我一个不同的标签吗?

我一直在搜索,但是找不到针对此特定问题的解决方案。

1 个答案:

答案 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>';
                }

感谢您的帮助!