Cómo mostrar solo algunas provincias o regiones en WooCommerce

Da igual que solo ofrezcas envíos a una provincia o región en tu tienda online WooCommerce, al finalizar compra el usuario verá el desplegable de provincias/regiones/estados completo.

No hay ningún ajuste para que WooCommerce no muestre completo el desplegable de regiones/provincias/estados.

Y no deja de ser curioso, y una putada, porque por otro lado, sí que funciona si indicas en los ajustes que solo enviarás a un país o varios, mostrando solo los países configurados para venta/envío.

Entonces ¿cómo hago para que WooCommerce solo muestre la lista de las regiones, provincias o estados en los que hay posibilidad de envío, y así evitar confundir a mis clientes?

Pues con un código ¿lo dudabas?

Limitar provincias, regiones o estados que se mostrarán al finalizar compra

En el código debes indicar tanto el país o países de los que se mostrarán provincias o regiones, como las regiones (provincias o estados) concretos que se deben mostrar, aquí no hay nada al azar.

Este sería un ejemplo:

/* Mostrar solo algunas provincias al finalizar compra */
add_filter( 'woocommerce_states', 'ayudawp_listado_provincias_limitado' );
function ayudawp_listado_provincias_limitado( $states ) {
$states['ES'] = array(
'M' => __( 'Madrid', 'woocommerce' ),
'SG' => __( 'Segovia', 'woocommerce' ),
'AV' => __( 'Ávila', 'woocommerce' ),
);
return $states;
}

Como resultado tendrás un desplegable de provincias/regiones de España (ES) en el que solo se mostrarán las que hayas indicado en el código (Madrid, Segovia y Ávila).

Por supuesto, puedes poner solo una región o provincia, o muchas más, según lo que necesites, y tener un listado limitado para cada país que quieras configurar en tu código.

Una situación distinta sería cuando quieras mostrar todas las regiones o provincias menos una, en cuyo caso, en vez de hacer un listado enorme de regiones a incluir, puedes crear un código que excluya la que no quieras que se muestre, que sería como este:

/* Excluir regiones del desplegable woo */
add_filter( 'woocommerce_states', function( $states ){
unset($states['ES']['GC']);
return $states;
}, 999);

En este ejemplo he excluido la región GC, que es el código para Las Palmas de Gran Canaria.

¿Dónde están los códigos de países y provincias?

Para poder aplicar estos fragmentos de código vas a necesitar los códigos de países y regiones que reconoce WooCommerce, y que puedes encontrar en este enorme listado, en el que tienes todos los países y sus regiones.

¿Cómo y dónde añado esos códigos?

Como siempre, echa un vistazo a esta sencillísima guía sobre cómo y dónde copiar y pegar estos y otros códigos tan útiles para tu WordPress y WooCommerce:

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 6

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba
Ir al contenido