WordPress Hosting

Cómo hacer obligatorios u opcionales los campos al finalizar compra en WooCommerce

Por diversos motivos, a veces no es posible hacer fácilmente que todos o algunos campos de finalizar compra sean obligatorios u opcionales en WooCommerce.

Bien porque el tema bloquea esta personalización, o porque algún plugin ha interferido con esta característica por defecto de WooCommerce, la realidad es que hay ocasiones en que no puedes obligar a que sean obligatorios u opcionales alguno o todos los campos al finalizar compra tus clientes.

La solución pasa por forzar a que estos campos sean obligatorios u opcionales mediante un gancho con el nivel máximo de prioridad, por si el motivo fuese un plugin que ya la usase previamente y ese fuese el culpable.

El código es así:

/** Cambiar estado obligatorio-opcional campos de facturación
* true = obligatorio
* false = opcional
*/
add_filter('woocommerce_billing_fields', 'force_billing_fields', 1000, 1);
function force_billing_fields($fields) {
$fields['billing_first_name']['required'] = false; //Nombre
$fields['billing_last_name']['required'] = false; //Apellidos
$fields['billing_email']['required'] = false; //Email
$fields['billing_phone']['required'] = false; //Teléfono
return $fields;
}
/** Otros campos de facturación 
* true = obligatorio
* false = opcional
*/
add_filter( 'woocommerce_default_address_fields', 'personalizar_campos_extra', 1000, 1 );
function personalizar_campos_extra( $address_fields ) {
$address_fields['company']['required'] = false; //Empresa
$address_fields['address_1']['required'] = false; //Dirección
$address_fields['country']['required'] = false; //País
$address_fields['city']['required'] = false; //Ciudad
$address_fields['state']['required'] = false; //Provincia
$address_fields['postcode']['required'] = false; //Código postal
return $address_fields;
}

En el código de ejemplo he optado por hacer todos los campos opcionales (false) pero puedes cambiar fácilmente simplemente cambiando a true el que quieras que sea obligatorio.

Debes añadir estos códigos al final del archivo functions.php del tema (hijo a ser posible) activo o a tu plugin de personalizaciones.

Compártelo en tus redes
Resúmelo con tu IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 4.3 / 5. Total de votos: 12

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación hace 3 años o más que no se actualiza. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te sirvió?, pues entonces nada :-)


Sobre el autor

1 comentario en “Cómo hacer obligatorios u opcionales los campos al finalizar compra en WooCommerce”

  1. bueno la verdad a mi no me ha servido brother, tengo semanas buscando como cambiar la palabra opcional del campo de telefono en el checkout de mi pagina de wordpress y la verdad me estoy volviendo loco he leido muchos foros y nincuno dice nada a ciertas , y sin envargo he chequeado ya en personalizar he puesto la opcion obligatorio pero sigue saliendo campo opcional a la hora del checkout y tambien si trato de procesar algo y no pongo el cell pasa sin problemas o sea que no cumple con que ese campo es obligatorio , si me pudieras decir o tienes idea como puedo hacer que el telefono sea obligatorio y que se quitara la palabra opcinal no sabeis lo agradecido que estaria contigo un saludo mi email es [email protected]

Los comentarios están cerrados.

Scroll al inicio