У меня есть оператор if / else, выполняющийся на странице корзины для отображения 2 различных баннеров, основанных на $ cart_total_amount. Это отлично работает. Вот код
<?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. Любые идеи будут хороши, и я сделаю некоторые дальнейшие исследования. Спасибо