Мне интересно, может ли кто-нибудь помочь мне со следующим кодом. Я пытаюсь установить условный HTML-код в зависимости от способа оплаты, который пользователь выбирает при оформлении заказа. На странице способа оплаты я использую следующую функцию для обновления информации о способе оплаты:
function cart_update_script() {
if (is_checkout()) :
?>
<script>
jQuery( function( $ ) {// woocommerce_params is required to continue, ensure the object exists
if ( typeof woocommerce_params === 'undefined' ) {
return false;
}
$checkout_form = $( 'form.checkout' );
$checkout_form.on( 'change', 'input[name="payment_method"]', function() {
$checkout_form.trigger( 'update' );
});
});
</script>
<?php
endif;
}
add_action( 'wp_footer', 'cart_update_script', 999 );
На последней странице оформления заказа я получаю выбранный способ оплаты с помощью следующего кода:
<?php $chosen_gateway = WC()->session->chosen_payment_method; ?>
Затем я использую условные операторы, подобные следующему:
<?php if ( $chosen_gateway == 'stripe' ) { ?>
//do this
<?php } ?>
Моя проблема в том, что я не получаю динамическую информацию, когда пользователь меняет способ оплаты. Иногда код работает, но иногда он думает, что был выбран другой способ оплаты. Любая помощь будет отличной!
Задача ещё не решена.
Других решений пока нет …