• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Eliminar campos del checkout de WooCommerce en una categoría de producto

Aprende en este tutorial cómo ocultar cualquier campo de la página de finalizar compra en WooCommerce para una categoría de producto específica con un sencillo snippet de código.

En un tutorial anterior te expliqué cómo puedes ocultar cualquier campo de la página para finalizar la compra en WooCommerce para un producto específico. Esto va muy bien para productos puntuales, pero si quieres que se aplique a varios puede ser más interesante ocultarlos para una (o varias) categoría(s) de producto.

Gracias al filtro woocommerce_checkout_fields de WooCommerce puedes conseguirlo de forma sencilla.

Aquí tienes cómo hacerlo:

Snippet para ocultar un campo del checkout de WooCommerce en una categoría de producto concreta

Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:

Para ver este código y los otros 1837 snippets de esta web,
identifícate o suscríbete aquí.

En este caso utilizas el filtro woocommerce_checkout_fields junto a un condicional donde le indicas que cuando la categoría del producto sea «libros» elimine el campo de la segunda línea de la dirección (billing_user_type).

Este campo no es uno nativo de WooCommerce sino que lo añade el plugin de Autónomos, que permite elegir entre particular o profesional para aplicar el IRPF o no. Para que veas que si conoces el nombre del campo puedes aplicarlo a cualquiera.

Te dejo el listado de campos por defecto de WooCommerce y cómo eliminarlos para que puedas personalizar el snippet de arriba a tu gusto:

// Campos de facturación
 unset( $fields['billing']['billing_company'] );
 unset( $fields['billing']['billing_email'] );
 unset( $fields['billing']['billing_phone'] );
 unset( $fields['billing']['billing_state'] );
 unset( $fields['billing']['billing_first_name'] );
 unset( $fields['billing']['billing_last_name'] );
 unset( $fields['billing']['billing_address_1'] );
 unset( $fields['billing']['billing_address_2'] );
 unset( $fields['billing']['billing_city'] );
 unset( $fields['billing']['billing_postcode'] );
 // Campos de envío
 unset( $fields['shipping']['shipping_company'] );
 unset( $fields['shipping']['shipping_phone'] );
 unset( $fields['shipping']['shipping_state'] );
 unset( $fields['shipping']['shipping_first_name'] );
 unset( $fields['shipping']['shipping_last_name'] );
 unset( $fields['shipping']['shipping_address_1'] );
 unset( $fields['shipping']['shipping_address_2'] );
 unset( $fields['shipping']['shipping_city'] );
 unset( $fields['shipping']['shipping_postcode'] );
 // Otro
 unset( $fields['order']['order_comments'] );

Obviamente también puedes cambiar la categoría del producto, incluso añadir varias separándolas con una coma.

Conclusión

Como ves, con unas pocas líneas de código puedes ocultar el campo que desees en la página para finalizar la compra de WooCommerce solo para una categoría de producto concreta (o varias si lo prefieres).

¿Alguna duda? Te leo en los comentarios.

Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉

PHP Productos WooCommerce

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2023 · Código Genesis

¿Has olvidado tu contraseña?