Получите название штата вместо кода в Woocommerce - PullRequest
0 голосов
/ 12 июня 2018

Я добавил пользовательский список состояний в свою woocommerce, используя код здесь: https://docs.woocommerce.com/document/addmodify-states/

Недавно добавленные состояния прекрасно загружаются на экранах внешнего интерфейса и некоторых внутренних интерфейсов, однако на экранах электронной почты и учетной записи пользователя., woocommerce только загружает код / ​​значение вместо фактического имени.(XX1, XX2 и т. Д.)

Полагаю, я могу исправить это с помощью этой логики:

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

Поэтому мне было интересно, можно ли использовать эту логику для создания функции, которая будет печататьимя состояния всякий раз, когда шаблон вызывает код?Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете использовать следующее от текущего пользователя (WP_User объект) , чтобы получить имя метки состояния :

$user = wp_get_current_user(); // The current user

$country = $user->billing_country;
$state = $user->billing_state;
echo WC()->countries->get_states( $country )[$state];

Протестировано и работает


и для заказа из ID заказа:

$order = wc_get_order($order_id); // The WC_Order object

$country = $order->get_billing_country();
$state = $order->get_billing_state();
echo WC()->countries->get_states( $country )[$state];
...