Мини-корзина Woocommerce AJAX обновление метаданных - PullRequest
0 голосов
/ 05 августа 2020

Я создаю собственную мини-тележку с нуля. Как это выглядит сейчас . Мне нужно Ajax обновление всей информации о продукте, когда я добавляю новый продукт в корзину: должна быть создана новая строка с продуктом с количеством продукта, названием и ценой.
HTML & PHP:

<div class="mini-cart"><?php
    global $woocommerce;
    $items = $woocommerce->cart->get_cart();

        foreach($items as $item => $values) { 
             $_product =  wc_get_product( $values['data']->get_id()); 
            $price = get_post_meta($values['product_id'] , '_price', true);
         ?> 
<ul class="products-list">
             <li>
                 <span class="product-name-qty">
                   <span class="qty-cart"><?php echo $values['quantity'];?>x</span>
                   <span class="product-name"><?php echo $_product->get_title(); ?></span>
                </span>
                <span class="price-cart"><span class="symbol"><?php echo 
                   get_woocommerce_currency_symbol();?>
                </span>
                <span>
                   <?php echo $price ;?> 
                </span>  
                </span>
            </li>
</ul>
<?php
        }
?>

Я уже проделал этот трюк со счетчиком и общей ценой со следующим фрагментом:

add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment', 100);

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;

    ob_start();

    ?>
<span class="counter" ><?php echo  WC()->cart->get_cart_contents_count(); ?></span>
    <?php
    $fragments['span.counter'] = ob_get_clean();
    return $fragments;
}

add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_total', 100);

function woocommerce_header_add_to_cart_total( $fragments ) {
    global $woocommerce;

    ob_start();

    ?>
 <li class="total"> <span>TOTAAL</span><?php echo '<span><span class="symbol">' . get_woocommerce_currency_symbol() . '</span><span>'; echo $woocommerce->cart->get_cart_contents_total(); ?></span></span></li>
    <?php
    $fragments['li.total'] = ob_get_clean();
    return $fragments;
}

Теперь я застрял . Есть ли решение?

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