WooCommerce AJAX购物车更新后的if / else语句

时间:2019-06-27 10:17:01

标签: woocommerce

我有一个if / else语句在购物车页面上运行,以显示基于$ cart_total_amount的2种横幅广告。这很好。这是代码

<?php 
            global $woocommerce;
            $cart_total_amount = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
            if($cart_total_amount >= 1000) {
                echo '<div class="klarna-over-1000"><p><strong>Note:</strong> Klarna is not available on bag totals over &pound;1000<br class="hide-mobile"> <a href="#">What is Klarna?</a> <a href="#">View T&C’s</a></p></div>';
            } else {
                echo '<div class="klarna-under-1000"><p><strong>Woop! Your bag is eligible for Klarna.</strong> Simply select a Klarna payment option at checkout. <a href="#">What is Klarna?</a> <a href="#">View T&C’s</a></p><div class="pay-later">Pay Later</div><div class="slice-it">Slice it</div><div class="clear"></div></div>';
            } 
        ?>

但是,仅当客户从另一个页面进入购物车页面时,此方法才有效。如果使用AJAX购物车更新方法在购物车页面上更新了购物车,则if else语句不会更改。因此,我还需要在AJAX更新后触发此语句。通过连接$片段来实现此目标的最佳方法是吗?我知道我可以使用JS做类似的事情:

$( document.body ).on( 'updated_cart_totals', function(){
    //re-do your jquery
});

但这仅与JS有关。任何想法都很棒,我将做进一步的研究。谢谢

1 个答案:

答案 0 :(得分:0)

对于任何想知道我最终使用以下方法解决此问题的人

 jQuery( document.body ).on( 'updated_cart_totals', function(){

   if(parseInt(response)>=1000){

}else{