Darren
tratando de usar <?php echo $current_user->billing_country; ?>
para mostrar el país de facturación del usuario de WooCommerce. Esto, por ejemplo, se repite como AU si el cliente tiene una dirección de facturación australiana. Sin embargo, me gustaría extraer el nombre completo en lugar del código de país.
Lo mismo se aplica para billing_state. En lugar de obtener Australia del Sur, obtengo SA. He hecho el trabajo a través de functions.php, sin embargo, solo si agrego cada estado y país. Esta es obviamente una gran empresa para mapear los estados del mundo a los códigos de estado.
Creo que he hecho esto antes de una manera muy simple, pero por alguna razón no puedo resolverlo en este momento.
El país y el estado se utilizan dentro de un campo de entrada deshabilitado como valor
<input type="text" class="form-control" value="<?php echo $current_user->billing_country; ?>" disabled="">
Imagen de lo que tenemos actualmente
Imagen de lo que queremos conseguir
WooCommerce tiene WC_Countries
class para esto puedes usarlo así:
echo WC()->countries->countries['AU']; //To get country name by code
echo WC()->countries->states['AU']['SA']; //to get State name by state code
O (en tu caso)
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
¡Espero que esto ayude!
-
Muchísimas gracias. Trabajó un placer!
– Darren
11 de agosto de 2017 a las 14:51
-
@DarrenMathers: ¡no olvides votar mi respuesta, ya que te ayuda!
– Raunak Gupta
16/09/2017 a las 17:05
-
Si los estados no se han cargado, intente
WC()->countries->get_states( $current_user->billing_country )[ $current_user->billing_state ]
.– Mariana
9 de mayo de 2019 a las 12:34
-
esto ayudó mucho muy agradecido señor
– Desesperado
4 de diciembre de 2020 a las 14:34