Add dropdown list of cities in Woocommerce checkout page
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 dropdownadd_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.