woocommerce计算购物车中的金额与我们的免费送货金额之间的差额

时间:2020-02-07 08:29:16

标签: javascript html wordpress woocommerce

您好,我想计算购物车中的金额与我们的免费送货金额之间的差额。

示例:您需要多花100美元购买免费送货。

拥有这段代码。但是,当在wordpress中实现代码时,它返回NaN吗?我在做什么错了?

HTML:

<button id="knap">klik her</button>

<div id="cartPopupWrap">
  <div class="elementor-menu-cart__subtotal">
  <p id="pris" class="woocommerce-Price-amount amount">1,500.20</p>
  </div>
  <p id="fragtPrisIalt"></p>
</div>

脚本:

<script>
document.getElementById('knap').onclick = function(){beregnFriFragt()};

function beregnFriFragt() {
  setTimeout( function () {
    var kurvIalt = document.querySelector('#cartPopupWrap .elementor-menu-cart__subtotal .woocommerce-Price-amount.amount').innerHTML.split(",").join("");
    var fragtPrisIaltTekstholder = document.getElementById('fragtPrisIalt');

    var fragtPrisIalt = "5800" - kurvIalt;

    fragtPrisIaltTekstholder.innerHTML = "Du mangler kun " + fragtPrisIalt + " for at få fri fragt!";
    },1000)
};
</script>

1 个答案:

答案 0 :(得分:0)

假设您的标签为“免费送货”,当购物车小计大于100时,它将显示“免费送货”。

add_filter( 'woocommerce_package_rates', 'woocommerce_package_rates', 10, 2 );
function woocommerce_package_rates( $rates, $package ) {
    if ( WC()->cart->subtotal < 100 ) {
        foreach($rates as $key => $rate ) {
            if ( $rates[$key]->label === 'Free Shipping' ) {
                unset($rates[$key]);
            }
        }
    }
    return $rates;
}

您可以在此处找到更多示例:WooCommerce shipping fee that changes when condition is met