remove billing and shipping fields in WooCommerce checkout
Hi everyone,
I’m trying to remove all billing and shipping fields from the WooCommerce checkout page by adding this code to my theme’s functions.php
file:
add_filter('woocommerce_checkout_fields', 'personalizza_campi_checkout');
function personalizza_campi_checkout($fields) {
// Rimuove campi di fatturazione
unset($fields['billing']['billing_first_name']); // Nome
unset($fields['billing']['billing_last_name']); // Cognome
unset($fields['billing']['billing_company']); // Azienda
unset($fields['billing']['billing_address_1']); // Indirizzo
unset($fields['billing']['billing_address_2']); // Indirizzo (seconda riga)
unset($fields['billing']['billing_city']); // Città
unset($fields['billing']['billing_postcode']); // CAP
unset($fields['billing']['billing_country']); // Paese
unset($fields['billing']['billing_state']); // Stato/Provincia
unset($fields['billing']['billing_phone']); // Telefono
unset($fields['billing']['billing_email']); // Email
// Rimuove campi di spedizione
unset($fields['shipping']['shipping_first_name']);
unset($fields['shipping']['shipping_last_name']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_city']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
unset($fields['shipping']['shipping_phone']);
return $fields;
}
However, the fields are still showing up on the checkout page. I cleared my cache but the issue persists.
Am I missing something? Could this be overridden by my theme or another plugin? Any advice would be greatly appreciated!
Thanks in advance! 😊
Comments
Hi,
Are you using WooCommerce Blocks on the Checkout page or checkout shortcode?
With Blocks, your custom code might not work, and you should change it to shortcode:
Best regards
thank you so much that works!!