Estoy creando un formulario de pago estilo madlib usando los campos de pago del Customizing de WooTheme usando acciones y filtros .
Los campos de facturación en la plantilla de pago form-billing.php
se muestran con esta llamada:
<?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>
¿Cómo puede cambiar el orden en que aparecen los campos?
El orden de campo actual (predeterminado) es:
nombre
apellido
compañía (oculto para mí)
pueblo / ciudad
código postal
país
estado
correo electrónico
teléfono
Orden predeterminado:
Quiero que los campos estén en un orden más natural para los estadounidenses (donde vivo), así que:
nombre,
apellido,
compañía (oculto para mí)
pueblo / ciudad,
estado,
código postal,
país,
correo electrónico,
teléfono
¿Cómo puedo hacer esto mejor?
$fields['billing']['billing_country']['priority'] = 10;
$fields['billing']['billing_phone']['priority'] = 20;
Vea aquí https://wordpress.org/support/topic/change-order-of-billing-fields-on-checkout-page/Gracias a Dbranes por la respuesta.
Reemplazar:
Con:
fuente
Puede hacer una copia en su tema y editar la plantilla que representa el formulario de pago.
Adaptado de la documentación del complemento :
[actualizar]
En este archivo, justo antes de que los campos están imprimiendo, hay un gancho de acción:
do_action('woocommerce_before_checkout_billing_form', $checkout);
.Por lo tanto, solo se trata de agregar esta acción en el tema
functions.php
o en un complemento personalizado y reordenar los campos como lo muestra el OP en su Respuesta. No es necesario anular la plantilla, o sí, si se necesitan más personalizaciones.fuente
<?php do_action('woocommerce_checkout_billing'); ?>
al por mayor.