我正在woocommerce的订单表单字段中工作。我的编码不是很好,但是我发现了一个可以在数量变化时改变价格的代码。
产品价格因用户选择而异。
问题是数量字段更改时,产品总计字段中的总价格增加或减少+ 10 / -10。
例如:选择后的产品价格为35,但当增加数量而不是与总价格乘以2时,其价格只显示10,然后是20,然后是30,然后是40(在增加数量字段时加10)。
我还添加了图片以更好地理解。
有帮助吗??
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="margin-bottom:20px;">%s %s</div>',__('Product Total:','woocommerce'),'<span class="price1">'.$product->get_price().'</span>');
?>
<script>
jQuery(function($){
var price1 = <?php echo $product->get_price(); ?>,
currency = '<?php echo get_woocommerce_currency_symbol(); ?>';
$('[name=quantity]').change(function(){
if (!(this.value < 1)) {
var product_total = parseFloat(price1 * this.value);
$('#product_total_price .price1').html( currency + product_total.toFixed(2));
}
});
});
</script>
<?php
}
<?
答案 0 :(得分:0)
尝试使用可变产品
//可变产品
add_filter( 'woocommerce_available_variation', 'variable_product_total_amount_qty_change', 10, 3 );
function variable_product_total_amount_qty_change( $data, $product, $variation ) {
$data['price_html'] .= '<div id="product_total_price" class="total-price-qty variable_products">Product Total: <span class="price">'.$data['display_price'].'</span></div>';
?>
<script>
jQuery(function($){
jQuery( '.variations_form' ).each( function() {
jQuery(this).on( 'found_variation', function( event, variation ) {
console.log(variation);//all details here
var price = variation.display_price;//selectedprice
console.log(price);
var currency = '<?php echo get_woocommerce_currency_symbol(); ?>';
$('[name=quantity]').change(function(){
if ((this.value > 1)) {
var product_total = parseFloat(price * this.value);
$('#product_total_price').fadeIn();
$('#product_total_price .price').html( currency + product_total.toFixed(2));
} else {
$('#product_total_price').fadeOut();
}
});
});
});
});
</script>
<?php
return $data;
}