Cambiar de orden los campos del checkout en Woocommerce

Les voy a retar! Se la pasan instalando plugins! Me altero XD No conviene ya que utiliza de manera poca eficiente muchos recursos, sé que es tentador tener una herramienta para cada cosa, pero en este caso es vital el tiempo de carga, conviene escatimar totalmente en cargas de scripts innecesarios, sobre todo con algo que podemos resolver en unas pocas líneas.

Otro recordatorio: recurran a la documentación de lo que utilizan! ahí estás todas las respuestas ✌️

Ahora sí, este desvío se debe a que lo vamos a hacer mediante funciones de WooCommerce y no con un plugin.

Ordenando dentro del mismo grupo

Bueno, tal vez te sea una novedad, pero cada campo está dentro de un grupo, son 4 grupos en total:

billing – Dirección a la que se le cobra
shipping – Dirección de envío
account – Cuenta de logueo
order – Información adicional

Cada uno de estos grupos contiene una variedad de campos, es muy fácil ordenar campos dentro de cada grupo, no tanto andar cambiando los grupos jaja. La clave está en cambiar «la prioridad».

Prioridad
En cuanto a PHP la prioridad ayuda a establecer cuándo se correrá, se va a ejecutar una función en relación con la carga de la página. Está declarado dentro de cada función y es necesario cuando se sobreescribe código para cambiar el aspecto final, la customización por ejemplo de un theme.

Cuanta mayor prioridad más tarde se correrá la función, entonces una prioridad de 20 va a correr después que una prioridad definida en 10.

Ejemplo
Vamos a disponer del email como primer campo. Por defecto en woocommerce tiene una prioridad 110, le vamos a dar 1, ya que nombre tiene definida una prioridad 10.

add_filter( 'woocommerce_checkout_fields', 'emilio_primero' );

function emilio_primero( $checkout_fields ) {
$checkout_fields['billing']['billing_email']['priority'] = 1;
return $checkout_fields;
}

Este código va en functions.php. Los nombres dentro de woocommerce de cada campo y sus prioridades lo pueden ver muy bien en el siguiente link:
https://rudrastyh.com/woocommerce/reorder-checkout-fields.html

Fuentes:
https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
https://rudrastyh.com/woocommerce/reorder-checkout-fields.html

Deja una respuesta

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