Получить выбранное значение поля состояния, чтобы отобразить его в порядке проверки Woocommerce Checkout

Мне нужно проверить значение billing_state равно «xyz» при проверке. и отобразить значение в «woocommerce_review_order_before_submit».

add_action( 'woocommerce_review_order_before_submit', 'messageonstate' );

function messageonstate() {
echo $fields['billing']['billing_state']['value'];
echo $_POST['_billing_state'];
echo"====+++++";
foreach( $checkout_fields as $key_field => $field_value ){
if( $input == $key_field && ! empty( $field_value ) ){
echo       $value = $field_value;
}
}
}

1

Решение

Необходимый код для отображения в порядке просмотра перед отправкой:

add_action( 'woocommerce_review_order_before_submit', 'review_order_before_submit_state_message' );
function review_order_before_submit_state_message() {
// HERE set your state code
$state_code = 'CA';

if( $selected_state_code = WC()->customer->get_billing_state() ){
$country_code = WC()->customer->get_billing_country();
$state_name   = WC()->countries->get_states($country_code)[$state_code];

if( WC()->customer->get_billing_state() === $state_code ){
$message = "The billing state <strong>".$state_name."<strong> matches";
echo '<ul class="woocommerce-info">'.$message.'</ul>';
} else {
$message = "The billing state <strong>".$state_name."<strong> don't matches";
echo '<ul class="woocommerce-alert">'.$message.'</ul>';
}
}
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Замечания: Проверка полей в Woocommerce, чтобы избежать проверки обрабатывается по-разному.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]