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

Мне нужно проверить значение 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 Ответ

0 голосов
/ 09 декабря 2018

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

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, чтобы избежать извлечения, обрабатывается по-разному.

...