Aprende en este tutorial cómo ocultar cualquier campo de la página para finalizar la compra en WooCommerce para un producto específico con un sencillo snippet de código.
¿Te interesa ocultar algún campo del checkout pero solo en un producto concreto?
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 un producto concreto
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2063 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 la ID del producto (1746, en el ejemplo) para eliminar el campo de la segunda línea de la dirección (billing_address_2
).
Para adaptarlo solo tienes que cambiar el ID del producto, que se muestra al hacer hover sobre el mismo.
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'] );
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 un producto concreto.
¿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. 😉