2016-09-20 5 views
0

私はいくつかのコードに取り組んでいます。ご連絡をご希望の場合は、

どういうわけか私はそれが働いて得るために管理していない。この1の

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

いけないあなたの代わりに 'this.value'の' $ this.valを() '使うべきでしょうか? –

+0

あなたは正しいですが、これは間違ったオブジェクトをとるようです。私がそれにparseintを加えると、それはNumberではありません。 – Pjelp

+0

'$(this).text();'または '$(this).attr(" value ")'おそらく、jqueryのバージョンに依存します –

答えて

0

いくつかのトレイルとエラーの後に解決しました。より良いかもしれませんが、私の側で働いています。 注:オランダでは、の代わりに、を使用しています。 (woocommerceも10進数で設定されています..)。バリエーション@テーマ/の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 } 
関連する問題