This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

eShop Checkout Dynamic States


Improve your customer’s experience by showing the appropriate State/County/Province when the Country field is changed.

If the selected country does not have any regions in the database, replace the dropdown with a text field.

Comes out of the box with US and Brazilian States, and Canadian Provinces. Additional countries/regions can be found here.

For best results, use with eShop Shipping Extension.


  • Alternate State field is removed, as it is no longer necessary. If a user selects a country for which there are States/Counties/Provinces in the database, then a drop-down is presented.
  • If no data exists in the database, then a text input field is presented to the user instead.


  1. Upload to your blog’s wp-content/plugins directory;
  2. Activate the plugin in your Plugin Admin interface;


Where can I get additional countries/regions?
  • Additional countries/regions can be found here.

Contributors & Developers

“eShop Checkout Dynamic States” is open source software. The following people have contributed to this plugin.




  • Catching up with jQuery >= 1.8


  • Fixed typo in previous commit which messed up shipping states.
  • Making sure that the session is started.


  • Saving state/shipstate state with $.totalStorage. Clicking the back button no longer forces the user to re-select the state.


  • Using state ID for dropdown values instead of code;
  • Improved state/altstate field logic to play nicely with eShop;


  • Now using eShop’s country/state tables in order to play nicely with taxes. Users will have to manually set the zones that they want for any new countries/states


  • Removed FK name of states table due to possible naming conflicts.
  • Replaced dbDelta with $wpdb->query


  • Modified primary key of states table as it was failing to add a few states.


  • Maintaining state when a user submits the checkout form with missing required fields.


  • Fixed a typo setting state_code field size


  • Initial release