首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按数量更改价格合计

问按数量更改价格合计
EN

Stack Overflow用户
提问于 2019-01-16 01:32:25
回答 1查看 743关注 0票数 0

我在woocommerce的订单字段工作。我不是很擅长编码,但我找到了一个代码,当数量变化时改变价格。

产品价格因用户选择而异。

问题是当数量字段更改时,产品总数字段中的总价格增加或减少+10/-10。

例如:选择后的产品价格是35,但当增加数量而不是总价乘2时,它只显示10,然后20,然后30,然后40(增加数量字段时增加10 )。

为了更好的理解,我还添加了一些图片。

能帮上忙吗?

代码语言:javascript
复制
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
}
<?

​

​

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 23:13:48

在cvariable产品上试试这个

//可变产品

代码语言:javascript
复制
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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54204063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档