2016-05-18 67 views
0

我希望顯示選擇多個數量時可變產品的總價格。我找到了this piece of code being suggested in a few different places,它適用於簡單的產品,但用於可變產品時,「產品總數」乘以可變產品的最低價格。Woocommerce:選擇多個數量的可變產品時的顯示總價

例如。我們有一個可變的產品,價格範圍從$ 20 - $ 100

您選擇了30美元的差異,將數量增加到2,總價格顯示40美元。

當添加到購物車時,小計出來正確($ 60)。

我們如何根據所選變化的價格計算總價格線?

+0

需要相同的解決方案。你找到了什麼? –

回答

2

嘗試使用此代碼。

<?php 
// we are going to hook this on priority 31, so that it would display below add to cart button. 
add_action('WC_Product_Variable', 'woocommerce_total_product_price', 'set priority here'); 
function woocommerce_total_product_price() { 
    global $woocommerce, $product; 
    // let's setup our divs 
    echo sprintf('<div id="product_total_price" style="margin-bottom:20px;display:none">%s %s</div>',__('Product Total:','woocommerce'),'<span class="price">'.$product->get_price().'</span>'); 
    echo sprintf('<div id="cart_total_price" style="margin-bottom:20px;display:none">%s %s</div>',__('Cart Total:','woocommerce'),'<span class="price">'.$product->get_price().'</span>'); 
    ?> 
     <script> 
      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 
} 
?> 
+0

謝謝你的時間,不幸的是,這是行不通的。產品總計並未顯示此代碼。我們確實改變了優先順序。我們正在尋找將返回選定的變化價格乘以數量的東西。 –

相關問題