Сделать США первым в Woocommerce оформить заказ страны выберите поле

Я уже выбрал США в качестве страны по умолчанию в кассе 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

Решение

Чтобы избежать заказа, вам нужно использовать 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 вашей активной дочерней темы (или активной темы). Проверено и работает.

введите описание изображения здесь

1

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

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

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