Home » WooCommerce » Cómo eliminar todos los campos del checkout de WooCommerce excepto el email

Cómo eliminar todos los campos del checkout de WooCommerce excepto el email

Si estás construyendo una tienda WooCommerce es posible que no necesites todos los campos del formulario de pago por defecto.

Puedes eliminar algunos campos usando plugins gratuitos, o comprar plugins premium para personalizar el checkout de WooCommerce pero si eres como yo, probablemente no quieras añadir otro plugin sólo para eliminar un campo o dos.

Best WordPress hosting 2024

Últimamente he tenido un cliente que necesitaba eliminar casi todos los campos de la página de pago de WooCommerce. Sólo dejar email, selector de pago, y nada más. Aquí os cuento como lo hice sin ningún plugin.

Cómo eliminar cualquier campo de la página de pago de WooCommerce sin plugins

WooCommerce tiene bastantes campos en la página de Checkout por defecto. Para eliminarlos crearemos una función personalizada en el archivo functions.php del tema. Dependiendo del tema que utilices ve a Apariencia >> Editor de archivos de tema o Herramientas >> Editor de archivos de tema, y haz clic en el archivo functions.php de la derecha.

Añade esta función al final de la página, y llámala así:

function tomasgdev_remove_fields($fields=array()) {

}
add_filter('woocommerce_billing_fields','tomasgdev_remove_fields');

Ahora tienes una función vacía que se utilizará para eliminar cualquier campo que no necesites en la página de Checkout. ¡Vamos a eliminar algunos campos!

Aquí está toda la lista de campos que puedes eliminar de la página de Pago de WooCommerce:

  • unset($fields[‘billing_first_name’]); – elimina el campo nombre
  • unset($fields[‘billing_last_name’]); – elimina el campo apellido
  • unset($fields[‘billing_company’]); – eliminar el campo del nombre de la empresa
  • unset($fields[‘billing_address_1’]); – eliminar el campo dirección 1
  • unset($fields[‘billing_address_2’]); – eliminar el campo dirección 2
  • unset($fields[‘billing_city’]); – eliminar el campo de ciudad
  • unset($fields[‘billing_postcode’]); – eliminar el campo código postal
  • unset($fields[‘billing_state’]); – eliminar el campo estado
  • unset($fields[‘billing_country’]); – eliminar el campo país
  • unset($fields[‘billing_phone’]); – eliminar el campo teléfono

Si quieres eliminar todos estos campos de la página de Checkout sólo tienes que añadirlos a la función que hemos escrito antes. Entonces quedaría así

function tomasgdev_remove_fields($fields=array()) {
 unset($fields['billing_first_name']);
 unset($fields['billing_last_name']);
 unset($fields['billing_company']);
 unset($fields['billing_address_1']);
 unset($fields['billing_address_2']);
 unset($fields['billing_city']);
 unset($fields['billing_postcode']);
 unset($fields['billing_state']); 
 unset($fields['billing_country']);
 unset($fields['billing_phone']);
}
add_filter('woocommerce_billing_fields','tomasgdev_remove_fields');

Después de guardar los cambios todos los campos de la página Checkout serán eliminados excepto Notas.

Para eliminar las notas del pedido añade este filtro al final del mismo archivo functions.php:

add_filter('woocommerce_enable_order_notes_field', '__return_false',9999);

Eso es todo – ahora sólo tienes la dirección de correo electrónico en la lista de campos de WooCommerce Checkout.

Fathom analytics - privacy focused cookie-free website analytics

Most popular tutorials


Get our latest WordPress news and special offers from RockSolidWP!

Only useful WordPress and WooCommerce tips and tricks and exclusive offers for our readers once a month. No marketing nonsense.

Looking for reliable yet affordable WordPress hosting?
Hostinger is the way to go!

Get 10% OFF by using code IMAKEITWORK