Отображение полного названия страны, а не кода страны — WooCommerce

Пытаясь использовать <?php echo $current_user->billing_country; ?> для отображения страны выставления счетов пользователям WooCommerce. Это, например, эхо как AU, если у клиента есть австралийский платежный адрес. Тем не менее, я хотел бы вытащить полное имя вместо кода страны.

То же самое относится и к billing_state. Вместо получения Южной Австралии я получаю SA. Сделали работу через functions.php, но только если я добавлю каждый штат и страну. Это, очевидно, большое обязательство сопоставить состояния миров с кодами штатов.

Я считаю, что я делал это раньше очень простым способом, но по какой-то причине не могу понять это в данный момент.

Страна и штат используются в поле ввода для отключения в качестве значения

<input type="text" class="form-control" value="<?php echo $current_user->billing_country; ?>" disabled="">

Изображение того, что мы в настоящее время получаем

Изображение того, что мы в настоящее время получаем

Изображение того, что мы хотим получить
Изображение того, что мы хотим получить

2

Решение

WooCommerce имеет WC_Countries класс для этого вы можете использовать его так:

echo WC()->countries->countries['AU']; //To get country name by code
echo WC()->countries->states['AU']['SA']; //to get State name by state code

ИЛИ ЖЕ (в твоем случае)

echo WC()->countries->countries[$current_user->billing_country]; //To get country name by code
echo WC()->countries->states[$current_user->billing_country][$current_user->billing_state]; //to get State name by state code

Надеюсь это поможет!

5

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

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

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