Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add dropdown list of cities in Woocommerce checkout page

I want to add specific cities list in dropdown in checkout page of Woocommerce.

Any best solution to add a dropdown of specific cities.

I want to add dropdown on this website http://www.pkbrand.com

like image 282
Muhammad Riaz Avatar asked Dec 04 '22 21:12

Muhammad Riaz


1 Answers

It can be done using a custom function hooked in woocommerce_checkout_fields action hook, where you will define in an array your desired cities:

// Change "city" checkout billing and shipping fields to a dropdown
add_filter( 'woocommerce_checkout_fields' , 'override_checkout_city_fields' );
function override_checkout_city_fields( $fields ) {

    // Define here in the array your desired cities (Here an example of cities)
    $option_cities = array(
         '' => __( 'Select your city' ),
        'Karachi' => 'Karachi',
        'Lahore' => 'Lahore',
        'Faisalabad' => 'Faisalabad',
        'Rawalpindi' => 'Rawalpindi',
        'Gujranwala' => 'Gujranwala',
        'Peshawar' => 'Peshawar',
        'Multan' => 'Multan',
        'Hyderabad' => 'Hyderabad',
        'Islamabad' => 'Islamabad'
    );

    $fields['billing']['billing_city']['type'] = 'select';
    $fields['billing']['billing_city']['options'] = $option_cities;
    $fields['shipping']['shipping_city']['type'] = 'select';
    $fields['shipping']['shipping_city']['options'] = $option_cities;

    return $fields;
}

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

Tested and works.

like image 116
LoicTheAztec Avatar answered Dec 11 '22 15:12

LoicTheAztec