Измените текст «Количество» на странице корзины woocommerce, когда 2 товара из разных категорий - PullRequest
0 голосов
/ 19 ноября 2018

Итак, я постараюсь быть как можно более конкретным, у меня есть две разные категории в woocommerce, у каждой категории есть разные метки:

1. Вместо «количество» -> «LABEL1».

2. Вместо «количества» -> «LABEL2».

Я сделал это, изменив количество-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 голосов
/ 20 ноября 2018

Хорошо, я исправил это, я ошибся при попытке зацикливания в файле amount-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>';
                }

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...