добавить модификатор ввода количества товара в мини-корзину woocommerce. php - PullRequest
1 голос
/ 18 июня 2020

в мини-тележке woocommerce я хотел бы отобразить ввод для регулировки количества каждого продукта.

Я добавил строку в мини-тележку. php файл моей дочерней темы Storefront ( используя функцию woocommerce_quantity_input), он отображает ввод, но корзина не «обновляется». Есть идеи, как это сделать?

См. Последнюю строку:

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
            $_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
            $product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

            if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
                $product_name      = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );
                $thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
                $product_price     = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
                $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
                ?>
                <li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">

                    <?php
                    //split product name and color
                    $pattern = '/ [^a-zA-Z0-9 ]+| –/';
                    $matches = array();
                    $dummy = preg_match($pattern, $product_name, $matches);
                    $posi = strpos($product_name, $matches[0]);
                    $productnamename = substr($product_name, 0, $posi);
                    $dashAndProductcolor    = substr($product_name, $posi);
                    ?>
                    <?php if ( empty( $product_permalink ) ) : ?>
                        <?php echo $thumbnail; ?>
                        <?php echo '<span class="minicart-prod-name">'.$productnamename.'</span><br/>' ?>
                        <?php echo '<span class="minicart-prod-color">'.$dashAndProductcolor.'</span>' ?>
                    <?php else : ?>
                        <a href="<?php echo esc_url( $product_permalink ); ?>">
                            <?php echo $thumbnail; ?>
                            <?php echo '<span class="minicart-prod-name">'.$productnamename.'</span><br/>' ?>
                            <?php echo wc_get_formatted_cart_item_data( $cart_item ); ?>
                            <?php echo '<span class="minicart-prod-color">'.$dashAndProductcolor.'</span>' ?>
                        </a>
                        <?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="each-price">' . sprintf( '%s', $product_price ) . '</span>', $cart_item, $cart_item_key ); ?>
                    <?php endif; ?>
                    <?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity">' . sprintf( '%s', $cart_item['quantity'] ) . '</span>', $cart_item, $cart_item_key ); ?>
<?php 
echo woocommerce_quantity_input( array('input_value' => $cart_item['quantity']),$cart_item['data'], false );
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...