2016-09-20 4 views
0

일부 변동 된 가격을 총 가격에 적용하기 위해 일부 작업을하고 있습니다. 어떻게 든수량 변량 가격

내가 관리하지 않는이 작업을 효율적으로 활용하려면 다음이 하나

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; display: block;">%s %s</div>',__('Totaal Prijs:','woocommerce'),'<span class="price">'.$product->get_price().'</span>'); 
?> 
    <script> 
     jQuery(function($){ 
      var price = <?php get_post_meta(get_the_ID(), '_regular_price', true);?> 
      console.log(price); 
      var currency = '<?php echo get_woocommerce_currency_symbol(); ?>'; 

      $('[name=quantity]').change(function(){ 
        var product_total = parseFloat(price * this.value); 
        $('#product_total_price .price').html(currency + product_total.toFixed(2)); 


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

어떤 제안?

+0

청춘을 기반으로? –

+0

네가 맞아, 이랬어.하지만 잘못된 물건을 가지고있는 것 같아. 내가 parseint를 추가 할 때 그것은 숫자가 아닙니다. – Pjelp

+0

'$ (this) .text();'또는'$ (this) .attr ("value")'는 아마도 jquery 버전에 따라 다릅니다. –

답변

0

일부 흔적과 오류가 있지만 해결되었습니다. 더 좋을 수도 있지만 내 측면에서 작동하고 있습니다. 참고 : 나는 네덜란드에서 대신을 사용합니다. (woocommerce도 10 진수 ..로 구성됩니다.).

총 가격 당신은`$ this.val()`대신`this.value`의 사용해야 변화 @ 테마/functions.php

// hook this on priority 31, display below add to cart button. 
add_action('woocommerce_single_product_summary', 'woocommerce_total_product_variation_price', 31); 
function woocommerce_total_product_variation_price() { 
global $woocommerce, $product; 
// setup base html... We are going to rewrite this with the standard selected variation 
echo sprintf('<div id="product_total_price" style="margin-bottom:20px; display: block;">%s %s</div>',__('Totaal Prijs:','woocommerce'),'<span class="price">'.$product->get_price().'</span>'); 
?> 
    <script> 
     jQuery(function($){ 

     var currency = currency = ' <?php echo get_woocommerce_currency_symbol(); ?>'; 

      function priceformat() { 
       var product_total = parseFloat(jQuery('.woocommerce-variation-price .amount').text().replace(/ /g ,'').replace(/€/g ,'').replace(/,/g ,'.')) * parseFloat(jQuery('.qty').val()); 
       var product_total2 = product_total.toFixed(2); 
       var product_total3 = product_total2.toString().replace(/\./g, ','); 

       jQuery('#product_total_price .price').html(currency + ' ' + product_total3); 
      } 

      jQuery('[name=quantity]').change(function(){ 
       priceformat(); 
      }); 

      jQuery('body').on('change','.variations select',function(){ 
       priceformat();    
      }); 

      priceformat(); 

     }); 
    </script> 
<?php }