John Davidson

php - Make WooCommerce checkout shipping fields visible and remove "Ship to different address?" checkbox


I am wondering if there is a way to remove the checkbox "Ship to a different address?" in woocommerce checkout page, but keep the shipping fields visible. I have tried:

add_filter( 'woocommerce_cart_needs_shipping_address', '__return_false');

It works, however it won't show any field in the "shipping field tab".

My Answer:
To make WooCommerce checkout shipping fields visible and remove any unnecessary fields, you can use the following code snippet in your theme's functions.php file:

// Make shipping fields visible on checkout page
add_filter( 'woocommerce_checkout_fields', 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
$fields['shipping']['shipping_first_name']['required'] = true;
$fields['shipping']['shipping_last_name']['required'] = true;
$fields['shipping']['shipping_address_1']['required'] = true;
$fields['shipping']['shipping_city']['required'] = true;
$fields['shipping']['shipping_postcode']['required'] = true;
$fields['shipping']['shipping_country']['required'] = true;
$fields['shipping']['shipping_state']['required'] = true;

return $fields;

// Remove unnecessary shipping fields
add_filter( 'woocommerce_checkout_fields', 'custom_remove_checkout_fields' );
function custom_remove_checkout_fields( $fields ) {
unset( $fields['shipping']['shipping_company'] );
unset( $fields['shipping']['shipping_address_2'] );

return $fields;

This code will make the shipping fields required and remove the shipping company and address line 2 fields from the WooCommerce checkout page. You can customize this code further to suit your specific requirements.

Rate this post

3 of 5 based on 5920 votes


© 2024 - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us