Recientemente, para completar un sitio web que basaba parte de su funcionalidad en Woocommerce, se me solicitó modificar el formulario de pago para permitir al usuario pagar sin necesidad de dejar su dirección en el sitio. Así que me puse manos a la obra.
Paso 1. Agregar un filtro para los campos.
add_filter( 'woocommerce_checkout_fields' , 'override_checkout_fields' );
function override_checkout_fields( $fields ) {
// Put your code here
}
El filtro woocommerce_checkout_fields
permite modificar los campos que se muestran en el formulario de pago. Esto significa que puedes agregar, modificar o eliminar campos a tu conveniencia. Como mi objetivo era eliminar los campos de dirección, agregué el siguiente código.
Paso 2. Eliminar los campos
add_filter( 'woocommerce_checkout_fields' , 'override_checkout_fields' );
function override_checkout_fields( $fields ) {
// Eliminar campos no requeridos
unset(
$fields['billing']['billing_address_1'],
$fields['billing']['billing_address_2'],
$fields['billing']['billing_city'],
$fields['billing']['billing_state'],
$fields['billing']['billing_postcode']
);
return $fields;
}
¡Listo! Los campos han sido removidos del formulario.