【发布时间】:2020-06-05 00:00:25
【问题描述】:
我在 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
}
<?
【问题讨论】:
-
能否请您出示一下您设置 $35,00 的 sn-p 代码?确保在计算产品总数时获得相同的变量并显示原始价格。
-
据我所知,
!(this.value < 1)等于this.value >= 1甚至可能是this.value > 0或this.value。 -
this.value在Jquery中正确的方式是$(this).val(), -
@bcesars 在 woocommerce 下为可变产品设置的价格添加新产品。我猜php代码可能有问题,但我不知道那是什么。?
-
@rayvic 我唯一的猜测是函数
$product->get_price()没有返回与您显示$35,00时定义的相同的价格值。这就是为什么我需要您从您的代码中展示更多内容,以便我们更好地分析。
标签: php jquery wordpress woocommerce