John Davidson

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

0 comments
Message:


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:

php
// 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 1946 votes

Comments




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