我有一个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 £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有关。任何想法都很棒,我将做进一步的研究。谢谢
答案 0 :(得分:0)
对于任何想知道我最终使用以下方法解决此问题的人
jQuery( document.body ).on( 'updated_cart_totals', function(){
和
if(parseInt(response)>=1000){
}else{