Woocommerce在数量变化时改变可变产品的总价

时间:2018-06-29 10:03:38

标签: wordpress woocommerce

目标是计算乘以QUANTITY的总奖金。 以下代码适用于简单产品,但不适用于可变产品。 我本来可以化妆的。 问题是变动价格没有成倍增加。

<?php

 add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format_310', 10, 2 );

function bbloomer_variation_price_format_310( $price, $product ) {

// 1. Find the minimum regular and sale prices

$min_var_reg_price = $product->get_variation_regular_price( 'min', true );
$min_var_sale_price = $product->get_variation_sale_price( 'min', true );

// 2. New $price

if ( $min_var_sale_price < $min_var_reg_price ) {
$price = sprintf( __( 'From: <del>%1$s</del><ins>%2$s</ins>', 'woocommerce' ), wc_price( $min_var_reg_price ), wc_price( $min_var_sale_price ) );
} else {
$price = sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $min_var_reg_price ) );
}

// 3. Return edited $price

return $price;
}
// 4. Multiplpier Section
add_action( 'woocommerce_single_product_summary', 'woocommerce_total_product_price', 31 );

function woocommerce_total_product_price() 
{
    global $woocommerce, $product;
    // Divs
    echo sprintf('<div id="product_total_price" style="margin-bottom:20px;">%s %s</div>',__('Product Total:','woocommerce'),'<span class="price">'.$product->get_price().'</span>');
    ?>
        <script>
            jQuery(function($)
            {
                //get price
                var price = <?php echo $product->get_price(); ?>,
                //get currency symbol    
                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 .price').html( currency + product_total.toFixed(2));

                    }
                });
            });
        </script>
    <?php
}
?>

0 个答案:

没有答案