Сделать США первым в Woocommerce Checkout страны выберите поле - PullRequest
0 голосов
/ 11 сентября 2018

Я уже выбрал США в качестве страны по умолчанию в кассе woocommerce.Кроме того, меня попросили переместить 'США' в самый верх списка стран в форме оформления заказа.

Я создал новый фильтр и подключил к хуку 'woocommerce_countries', например:

function change_country_order_in_checkout_form($countries)
{
    $countries = array('US' => $countries['US']) + $countries;

    return $countries;
}

add_filter( 'woocommerce_countries', 'change_country_order_in_checkout_form' );

Мой список стран корректно изменяется, но затем что-то в WooCommerce сортирует страны по алфавиту, и я хочу этого избежать.Я попытался добавить:

remove_filter('woocommerce_sort_countries', 'wpautop');

, но это, похоже, не имело никакого значения.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 11 сентября 2018

Чтобы избежать заказа, вам нужно использовать woocommerce_sort_countries фильтр-хук следующим образом:

add_filter('woocommerce_sort_countries', '__return_false');

И чтобы сначала установить «США», попробуйте вместо этого:

add_filter( 'woocommerce_countries', 'change_country_order_in_checkout_form' );
function change_country_order_in_checkout_form($countries)
{
    $usa = $countries['US']; // Store the data for "US" key
    unset($countries["US"]); // Remove "US" entry from the array

    // Return "US" first in the countries array
    return array('US' => $usa ) + $countries;
}

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

enter image description here

...