亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 WooCommerce 產品頁面中顯示數量變化的產品總數和購物車小計

在 WooCommerce 產品頁面中顯示數量變化的產品總數和購物車小計

PHP
慕娘9325324 2023-05-12 14:15:08
這個想法很簡單。在 WooCommerce 產品頁面上,隨著客戶更改數量,顯示產品總價(價格上漲或下跌)和購物車小計。我現在卡住了。即使打開調試,我也沒有收到任何錯誤。產品頁面上沒有顯示任何內容。add_action( 'woocommerce_after_add_to_cart_form', 'total_product_and_subotal_price' );function total_product_and_subotal_price() {    global $product;    // the div section    echo sprintf('',__('Product Total:','woocommerce'),''.$product->get_price().'');    echo sprintf('',__('Cart Total:','woocommerce'),''.$product->get_price().'');    ?>        <script>            jQuery(function($){                var price = get_price(); ?>,                    current_cart_total = cart->cart_contents_total; ?>,                    currency = '';                $('[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}

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

您的代碼中有一些錯誤,請嘗試以下將動態顯示的內容:

  • 產品總金額乘以產品價格乘以所選數量

  • 購物車小計和產品總金額的總和。

基于你的代碼:

add_action( 'woocommerce_after_add_to_cart_form', 'total_product_and_subotal_price' );

function total_product_and_subotal_price() {

    global $product;


    $product_price = (float) wc_get_price_to_display( $product );

    $cart_subtotal = (float) WC()->cart->subtotal + $product_price;


    $price_0_html  = wc_price( 0 ); // WooCommmerce formatted zero price (formatted model)

    $price_html    = '<span class="amount">'.number_format($product_price, 2, ',', ' ').'</span>';

    $subtotal_html = '<span class="amount">'.number_format($cart_subtotal, 2, ',', ' ').'</span>';


    // Display formatted product price total and cart subtotal amounts

    printf('<div id="totals-section"><p class="product-total">%s</p><p class="cart-subtotal">%s</p></div>',

        str_replace([' amount','0,00'], ['',$price_html], $price_0_html), // formatted html product price

        str_replace([' amount','0,00'], ['',$subtotal_html], $price_0_html) // Formatted html cart subtotal

    );

    ?>

    <script>

    jQuery( function($){

        var productPrice      = <?php echo $product_price; ?>,

            startCartSubtotal = <?php echo $cart_subtotal; ?>;


        function formatNumber( floatNumber ) {

            return floatNumber.toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ').replace('.', ',');

        }


        $('input[name=quantity]').on( 'input change', function(){

            var productQty   =  $(this).val() == '' ? 1 : $(this).val(),

                productTotal = parseFloat(productPrice * productQty),

                cartSubtotal = productTotal + startCartSubtotal - productPrice;


            cartSubtotal = $(this).val() > 1 ? parseFloat(cartSubtotal) : parseFloat(startCartSubtotal);


            $('#totals-section > .product-total .amount').html( formatNumber(productTotal) );

            $('#totals-section > .cart-subtotal .amount').html( formatNumber(cartSubtotal) );

        });

    });

    </script>

    <?php

}

代碼進入您的活動子主題(或活動主題)的 functions.php 文件。測試和工作。


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 215 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號