You should be able to do what you want with the Category Country Aware (CCA) Plugin. (it’s for use within post/page content but also includes the widget below).
Option 1: (only for posts and if you are happy to create one off categories):
- Create new categories for say “Washington” and “NY” via WP Admin
Dashboard -> posts -> categories
. - In the post editor associate each post with the relevant new
category. - Add an entry (text, HTML, JavaScript) with specific content for “NY”
to the CCA widget, save then repeat for “Washington” etc (example below).
.
You can use multiple CCA widgets (“text” or “RSS”), so you could use a second widget to say display local news for that city.
Option 2: If you want it to work with pages, or don’t want give posts an extra unique category, want to use shortcodes, or would like to use the widget as a canvas for your own PHP then:
- Additionally install this (free) Extension to the Category Country Plugin
You can then add a custom field cca_category and value (e.g “Washington”) to your posts and pages. The CCA widget will check if the post has a matching “cca_category” before checking for a matching WordPress category. (Section 4 of above link provides details on how to do this).
Declaration of interest! : I’m the plugin author.