Очистите все поля проверки WooCommerce, кроме страны - PullRequest
2 голосов
/ 23 марта 2019

На моей странице оформления заказа в WooCommerce я хочу, чтобы поля для выставления счетов были пустыми, за исключением страны выставления счетов.

Я использую это, чтобы убедиться, что форма оформления заказа пуста, когда она заполнена:

add_filter('woocommerce_checkout_get_value','__return_empty_string',10);

Однако я хочу, чтобы поле страны выставления счета было заполнено, и по умолчанию оно было указано в США. Итак, у меня есть это:

add_filter( 'default_checkout_billing_country', 'change_default_checkout_country' );

function change_default_checkout_country() {
  return 'US'; 
}

Но поле кажется пустым, пока у меня установлен первый фильтр. Как я могу оставить все поля пустыми, кроме страны выставления счета?

1 Ответ

0 голосов
/ 23 марта 2019
Try the following instead, that will blank all checkout field, except the billing and shipping countries that will be set to a specific country:

add_filter('woocommerce_checkout_get_value', 'checkout_get_value_filter', 10, 2 );
function checkout_get_value_filter( $value, $input ) {
    // The defined country code
    $country_code = 'US';

    // Set the billing and shipping country
    WC()->customer->set_billing_country($country_code);
    WC()->customer->set_shipping_country($country_code);

    // Display only the billing and shipping country
    if( 'billing_country' === $input || 'shipping_country' === $input ){
        return $country_code;
    } else {
        return '';
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...