{"id":315742,"date":"2026-05-20T16:16:55","date_gmt":"2026-05-20T16:16:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/full-state-name-for-gravity-forms\/"},"modified":"2026-05-20T16:33:42","modified_gmt":"2026-05-20T16:33:42","slug":"full-state-name-for-gravity-forms","status":"publish","type":"plugin","link":"https:\/\/as.wordpress.org\/plugins\/full-state-name-for-gravity-forms\/","author":15471416,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Full State Name for Gravity Forms","header_author":"izzygld","header_description":"Ensures the Address \"State \/ Province\" sub-field (input X.4) always renders as the full state name (e.g. \"New Jersey\") rather than a 2-letter abbreviation (e.g. \"NJ\") in merge tags such as {all_fields}, {Address (State \/ Province):X.4}, notifications, confirmations, and URL query strings.","assets_banners_color":"13536c","last_updated":"2026-05-20 16:33:42","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/github.com\/izzygld","header_plugin_uri":"https:\/\/github.com\/izzygld\/full-state-name-for-gravity-forms","header_author_uri":"https:\/\/github.com\/izzygld","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"izzygld","date":"2026-05-20 16:16:17"},"1.0.1":{"tag":"1.0.1","author":"izzygld","date":"2026-05-20 16:27:47"},"1.0.2":{"tag":"1.0.2","author":"izzygld","date":"2026-05-20 16:33:42"}},"upgrade_notice":{"1.0.2":"<p>Tested with WordPress 7.0.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3539697,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3539697,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3539697,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3539697,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3539697,"resolution":"1","location":"assets","locale":"","width":1200,"height":675}},"screenshots":{"1":"Notification email rendering with the full state name (after activating this plugin)"}},"plugin_section":[],"plugin_tags":[4581,1655,218580,4906,263720],"plugin_category":[],"plugin_contributors":[260094],"plugin_business_model":[],"class_list":["post-315742","plugin","type-plugin","status-publish","hentry","plugin_tags-address-field","plugin_tags-gravity-forms","plugin_tags-merge-tags","plugin_tags-notifications","plugin_tags-state-name","plugin_contributors-izzygld","plugin_committers-izzygld"],"banners":{"banner":"https:\/\/ps.w.org\/full-state-name-for-gravity-forms\/assets\/banner-772x250.png?rev=3539697","banner_2x":"https:\/\/ps.w.org\/full-state-name-for-gravity-forms\/assets\/banner-1544x500.png?rev=3539697","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/full-state-name-for-gravity-forms\/assets\/icon-128x128.png?rev=3539697","icon_2x":"https:\/\/ps.w.org\/full-state-name-for-gravity-forms\/assets\/icon-256x256.png?rev=3539697","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/full-state-name-for-gravity-forms\/assets\/screenshot-1.png?rev=3539697","caption":"Notification email rendering with the full state name (after activating this plugin)"}],"raw_content":"<!--section=description-->\n<p><strong>Full State Name for Gravity Forms<\/strong> fixes an annoying inconsistency in Gravity Forms: depending on the form, the add-on, and the code path, the Address field's \"State \/ Province\" sub-input (input X.4) sometimes resolves to a 2-letter abbreviation (\"NJ\") and sometimes to the full state name (\"New Jersey\") when used in merge tags.<\/p>\n\n<p>This causes real problems with:<\/p>\n\n<ul>\n<li>Notification emails that read \"Your shipment is going to NJ.\"<\/li>\n<li><code>{all_fields}<\/code> output mixing full city names with state codes.<\/li>\n<li>URL query strings that pre-populate another Gravity Form \u2014 the second form's state dropdown doesn't match \"NJ\" against its option value of \"New Jersey\", so the field stays blank.<\/li>\n<\/ul>\n\n<h4>The Solution<\/h4>\n\n<p>This plugin hooks into <code>gform_merge_tag_filter<\/code> and, <strong>only when the merge tag targets an Address field's State sub-input (X.4) and the value is exactly a 2-letter code<\/strong>, expands it back to the full state name that Gravity Forms uses in its Address field dropdown.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Targeted<\/strong> \u2014 Only affects Address field State sub-inputs (X.4), nothing else<\/li>\n<li><strong>Safe<\/strong> \u2014 Only acts when the value is exactly two letters; existing full names and other text pass through untouched<\/li>\n<li><strong>Zero Configuration<\/strong> \u2014 Activate the plugin and the fix is live<\/li>\n<li><strong>Filterable<\/strong> \u2014 Override or extend the code-to-name map with the <code>fsn_gf_state_map<\/code> filter for non-US addresses or translated labels<\/li>\n<li><strong>Filterable expansion<\/strong> \u2014 Hook <code>fsn_gf_expanded_state_name<\/code> to customize the replacement on a per-field basis<\/li>\n<\/ul>\n\n<h4>Where It Applies<\/h4>\n\n<ul>\n<li><code>{all_fields}<\/code> merge tag<\/li>\n<li><code>{Address (State \/ Province):X.4}<\/code> merge tag<\/li>\n<li>Notifications, confirmations, and any place merge tags are processed<\/li>\n<li>URL query strings built with merge tags (so the receiving form's state dropdown picks the correct option)<\/li>\n<\/ul>\n\n<h4>Covered Codes<\/h4>\n\n<p>All US states (50), DC, US territories (PR, GU, VI, AS, MP), and military mailing regions (AA, AE, AP) \u2014 a total of 59 entries that match the default Gravity Forms Address state options exactly.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>full-state-name-for-gravity-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>That's it \u2014 merge tags that resolve to 2-letter state codes are now expanded automatically<\/li>\n<\/ol>\n\n<p>No configuration pages or global settings needed.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20gravity%20forms%3F\"><h3>Does this require Gravity Forms?<\/h3><\/dt>\n<dd><p>Yes. Gravity Forms 2.5 or higher must be installed and activated.<\/p><\/dd>\n<dt id=\"does%20this%20change%20how%20state%20values%20are%20stored%20in%20entries%3F\"><h3>Does this change how state values are stored in entries?<\/h3><\/dt>\n<dd><p>No. Stored entry data is untouched. The expansion only happens when the value is being rendered through a merge tag.<\/p><\/dd>\n<dt id=\"will%20it%20break%20my%20notifications%20that%20already%20show%20full%20state%20names%3F\"><h3>Will it break my notifications that already show full state names?<\/h3><\/dt>\n<dd><p>No. The plugin only acts when the value is exactly a 2-letter code. Anything longer (including the full names you're already seeing) passes through unchanged.<\/p><\/dd>\n<dt id=\"i%20have%20a%20non-us%20address%20field.%20can%20i%20add%20my%20own%20regions%3F\"><h3>I have a non-US address field. Can I add my own regions?<\/h3><\/dt>\n<dd><p>Yes \u2014 use the <code>fsn_gf_state_map<\/code> filter to merge in your own code-to-name pairs.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20the%20value%20posted%20by%20the%20form%20itself%3F\"><h3>Does this affect the value posted by the form itself?<\/h3><\/dt>\n<dd><p>No. It only filters merge tag output. The submitted value, validation, and storage all behave exactly as Gravity Forms does by default.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Confirmed compatibility with WordPress 7.0<\/li>\n<li>Sync internal <code>FSN_GF_VERSION<\/code> constant with plugin header version<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Maintenance release: housekeeping and deploy pipeline verification<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Expands 2-letter state codes to full state names in <code>gform_merge_tag_filter<\/code> for Address X.4 sub-inputs<\/li>\n<li><code>fsn_gf_state_map<\/code> filter to extend \/ override the code-to-name map<\/li>\n<li><code>fsn_gf_expanded_state_name<\/code> filter for per-replacement customization<\/li>\n<\/ul>","raw_excerpt":"Expand 2-letter US state codes (e.g. NJ) to full state names (e.g. New Jersey) in Gravity Forms Address merge tags.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/315742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=315742"}],"author":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/izzygld"}],"wp:attachment":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=315742"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=315742"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=315742"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=315742"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=315742"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=315742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}