Woocommerce WordPress

[WooCommerce] Ocultar o mostrar el campo País en el formulario del checkout

[titulo]El campo País no se muesta en el formulario de finalización de pago de WooCommerce[/titulo]

Tanto:

  • Si únicamente vas a vender a un país, y no quieres que estorbe ese campo.
  • Como si te has decidido a abrirte internacionalmente, y no aparece el Select para elegir a qué país enviar el pedido.

¡Este es tu post!

Vamos a analizar las distintas maneras de ocultar campos en el checkout de WooCommerce, y a revisar si se está empleando alguno de ellos en tu formulario activo.

¡Manos a la obra!

 

[resumen]
  1. ¿Lo tenemos todo bien configurado?
  2. El plugin: siempre hay un plugin.
  3. CSS: Hojas de estilo.
  4. Functions.php
[/resumen]

 

[titulo]¿Lo tenemos todo bien configurado?[/titulo]

Si vamos al menú «Ajustes» de WooCommerce, en la pestaña «General», podemos especificar a qué países vamos a vender y a cuáles vamos a enviar.

Por ejemplo, si marcamos que venderemos y enviaremos únicamente a España y Portugal, al finalizar la compra, el cliente únicamente podrá seleccionar alguna de estas 2 ubicaciones en el select de país:

 

Si esto no resuelve el problema puesto que lo que queríamos era mostrar u ocultar ese campo, ¡sigue leyendo!

 

[titulo]El plugin: siempre hay un plugin[/titulo]

En esta ocasión es Woo Checkout Field Editor Pro, un plugin que nos permite agregar campos personalizados y sí, también ocultarlos.

De esa forma podemos quitar el campo País, Nombre o el que necesitemos, sin que ello repercuta en la validación del formulario.

También podemos hacer obligatorios los campos nuevos, o cambiar los textos a los campos que trae por defecto la instalación.

Sencillo, práctico y gratis.

 

[titulo]CSS: Hojas de estilo.[/titulo]

Todos los campos del checkout de WooCommerce tiene  un identificador que contiene la palabra «billing«:

  • billing_country
  • billing_adrees_1
  • billing_first_name

En el caso de que especifiquemos que la dirección de envío es diferente a la de facturación, sus campos contendrán la palabra «shipping«:

  • shipping_first_name
  • shipping_last_name
  • shipping_company
  • shipping_address_1

De esa forma nos será muy fácil localizarlos en nuestras hojas de estilo y eliminar los [codigo]display:none[/codigo] o [codigo]visibility:hidden[/codigo] que pudiesen tener.

Si nuestro objetivo no es mostar el campo oculto sino ocultarlo, no os recomendamos este método, ya que en caso de ocultar un campo obligatorio, el formulario nunca podría enviarse.

 

[titulo]Functions.php[/titulo]

Y para finalizar, el método más óptimo para mostrar/ocultar el campo País del formulario de finalización de pedido.

El problema es que requiere de ciertos conocimientos de programación. Para comenzar necesitaréis un software de FTP y acceso al servidor.

Tras ello tendréis que dirigiros a la ruta [codigo]wp-content/themes/nombre-tema-activo/[/codigo] y buscar el archivo [codigo]functions.php[/codigo].

Ahora:

a) Si lo que queremos es ocultar el campo, tendremos que añadir a ese archivo la siguiente función:

function custom_override_checkout_fields( $fields )    
{
unset($fields['billing']['billing_country']);
return $fields;
}
add_filter('woocommerce_checkout_fields','custom_override_checkout_fields');

Os recomendamos que, si no tenéis experiencia, creéis una copia del archivo antes de modificarlo. Y para los experimentados, os recordamos que la forma ideal de hacer estos cambios es a través de un child theme.

 

b) Si lo que quieremos es motrar el campo, y ninguno de los pasos anteriores nos ha ayudado a mostrarlo, buscaremos la línea decódigo:

unset($fields['billing']['billing_country']);

Y la editaremos añadiéndole «//». Quedando por tanto:

//unset($fields['billing']['billing_country']);

 

Y hasta aquí la guía. Recuerda: Nosotros no somos Voldemort, puedes nombrarnos en redes sociales.

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

Escribir comentario

Haz clic aquí para dejar tu comentario