Поэтому сначала я использовал это JS-код для отслеживания onChange этих двух полей:
Код: Выделить всё
$(document).ready(function () {
if ($('form.woocommerce-checkout').length) {
$('#billing_phone_field, #billing_email_field').on('change', function () {
$('body').trigger('update_checkout');
});
}
});
Код: Выделить всё
public function update_payment_methods_based_on_user_input( $available_gateways ) {
if ( is_admin() ) return $available_gateways;
if ( ! is_checkout() ) return $available_gateways;
$wp_session = isset( WC()->session ) && WC()->session->has_session() ? WC()->session : null;
if ( is_a( $wp_session, 'WC_Session_Handler' ) ) {
$cust_session = $wp_session->get( 'customer' );
file_put_contents( ABSPATH . '/wp-content/cust_session.txt', print_r( $cust_session, true ) );
}
return $available_gateways;
}
Я делаю что-то не так? Как мне получить эти два поля, если не через сеанс?
Подробнее здесь: https://stackoverflow.com/questions/785 ... ange-of-th
Мобильная версия