Сайт на Wordpress. Использую Woocommerce. У меня в functions.php находиться вот такой код:
add_action( 'woocommerce_single_product_summary', 'woocommerce_total_product_price', 31 );
function woocommerce_total_product_price() {
global $woocommerce, $product;
// let's setup our divs
echo sprintf('<div id="product_total_price" style="font-size: 18px;color: #ff0e0e;margin-bottom:20px;">%s %s</div>',__('Product Total:','woocommerce'),'<span style="color: #ff0e0e;" class="price"> $'.$product->get_price().' - for one unit!</span>');
// echo sprintf('<div id="cart_total_price" style="margin-bottom:20px;">%s %s</div>',__('Cart Total:','woocommerce'),'<span class="price"> $'.$product->get_price().'</span>');
?>
<script>
jQuery(document).ready(function($){
// grab the price
var initial_price = $('[itemprop="price"]').attr('content');
$('.qty').on('change',function(){
var total_price = initial_price * this.value;
console.log(initial_price, this.value, total_price);
});
})
jQuery(function($){
var price = <?php echo $product->get_price(); ?>,
current_cart_total = <?php echo $woocommerce->cart->cart_contents_total; ?>,
currency = '<?php echo get_woocommerce_currency_symbol(); ?>';
$('[name=quantity]').change(function(){
if (!(this.value < 1)) {
var product_total = parseFloat(price * this.value),
cart_total = parseFloat(product_total + current_cart_total);
$('#product_total_price .price').html( currency + product_total.toFixed(2));
$('#cart_total_price .price').html( currency + cart_total.toFixed(2));
}
$('#product_total_price,#cart_total_price').toggle(!(this.value <= 1));
});
});
</script>
<?php
}
Он отвечает за вывод общей суммы цены (при выборе количества) товаров. Он отлично работает, когда на странице находиться один товар. Но когда их два, то при смене количества на одном, на втором показывается цена первого. Как остановить скрипт в рамках одного товара?