Seleccionar página

WooCommerce, eliminar campos formulario de envío

por | Sep 28, 2016 | Woocommerce, Wordpress

Índice de contenidos

WooCommerce, eliminar campos formulario no necesarios para la venta

OBJETIVO: WooCommerce, eliminar campos formulario de envío y facturación en tiendas WooCommerce cuya venta es de productos virtuales.

En el desarrollo de tiendas online que sólo venden productos de descarga, modificar el formulario de envío y facturación que tiene que rellenar el cliente y quitar todos los campos que no son necesarios para la venta del artículo, aporta ventajas para el cliente:

WooCommerce pedido COMPLETADO1- el proceso de compra es más rápido

2- el proceso de compra es más sencillo

3- ahorro de almacenamiento de campos innecesarios que no 4- me aportan ninguna información.

5- políticas de datos más sencilla

 

Pasos para eliminar campos del formulario de envío en WooCommerce

Vamos a trabajar con el archivo functions.php, como siempre te recomiendo que trabajes con un tema hijo para evitar que la función que vamos a crear se borre al actualizar el tema, si necesitas ayuda con los temas hijos puedes consultar el siguiente artículo para crear un tema hijo con plugin o el siguiente en el que se crea el tema hijo con estructura de archivos.

Paso 1 – abrir archivo functions.php

1. Localizamos la carpeta themes en el árbol de archivos wordpress; 

/tuweb/wp-content/themes/child_theme o  

/tuweb/wp-content/themes/your_theme

2. Abrimos el archivo functions.php

Paso 2 – copia y pega el siguiente código

Copia el siguiente código dentro del archivo

// quitar campos del formulario de dirección de envío
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

function custom_override_default_address_fields( $address_fields ) {
    unset( $address_fields['postcode'] );
    unset( $address_fields['company'] );
    unset( $address_fields['address_1'] );
    unset( $address_fields['address_2'] );
    unset( $address_fields['city'] );
    unset( $address_fields['country'] );
    unset( $address_fields['state'] );

    return $address_fields;
}

Paso 3 – guardar cambios

Guarda el archivo functions.php

Explicación del código «WooCommerce eliminar campos formulario»

add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

En esta línea estamos creado un filtro, es decir modificando la función de woocommerce_default_address_fields con la nueva función que hemos llamado custom_override_default_address_fields.

Definimos la nueva función:

function custom_override_default_address_fields( $address_fields ) { 

Hacemos uso de la función de php unset (borrar); y borramos el código postal, nombre empresa, dirección…

unset( $address_fields[‘postcode’] );

OJO: al crear el filtro para woocommerce_default_address_fields estamos accediendo a campos del formulario de dirección de envío y facturación, es decir estamos borrando los distintos campos en ambos formularios.

Si necesitas más información, puedes revisar los documentos de Woocommerce, donde desarrollan este tipo de funciones para borrar, modificar y añadir campos en los formularios de envío y facturación.

Te puede interesar:

WooCommerce – Cómo cambiar automáticamente el estado de un pedido a Completado

6 Comentarios

  1. Gustavo

    Hola Nerea, buen post, va al grano y es muy práctico. Saludos!

    Responder
    • Lph by Nerea Liébana

      Muchas gracias Gustavo, feliz día y hasta la próxima!

      Responder
  2. Andrés

    Hola Nerea, buen post.
    Pero que pasa si vendo productos físicos y virtuales?

    Cómo hacer que cuando suba un producto y elijo el check en «virtual* se elimine dichos campos? pero si subo un producto físico, no se elimine lo de dirección, CP, país, etc.

    Saludos

    Responder
    • Lph by Nerea Liébana

      Hola Andrés, dentro de la función puedes poner un if que si el tipo producto es virtual, entonces elimine los campos.
      Saludos,

      Responder
  3. leonarda

    Como podría quitar todo el campo del pedido, no quiero que me aparezca en la factura, es que ahora sale como una cajita, con el producto, precio unitario, cantidad, etc…

    Muchas gracias!!!

    Responder
    • Lph by Nerea Liébana

      Buenos días Leonarda, necesito más información para poder ayudarte:
      1.- ¿Cómo emites las facturas? utilizas algún plugin o te refieres a las facturas que envía mediante email WooCommerce.
      2.- Comprueba la normativa de tu país referente a los campos obligatorios de una factura, por ejemplo en España los campos de producto y precio son obligatorios.
      Ya me cuentas…

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *