Over the past 6 months or so we’ve been working with customers to resolve an issue where updating Store Locator Plus® would reset some (not all) settings. This was especially prevalent with our WordPress plugin users. With the latest 2511.08.XX release we believe we’ve finally put this issue to rest.
For some users, when they would update the base Store Locator Plus® WordPress plugin they would lose some settings. One of the settings we noticed on one of our test boxes was the Google Maps API key being reset. The full list of possible settings that could be impacted are shown here:
broadcast_timestamp => 0
default_country => us
extended_data_tested => 0
map_language => en
next_field_id => 1
next_field_ported =>
premium_user_id =>
premium_subscription_id =>
radius_behavior => always_use
slplus_plugindir => /var/www/html/wp-content/plugins/store-locator-plus/
slplus_basename => store-locator-plus/store-locator-plus.php
themes_last_updated => 0
active_style_css => div#map img {...more CSS...
admin_notice_dismissed => 0
invalid_query_message => We did not receive a valid JSONP response.
radii => 10,25,50,100,(200),500
searchlayout => ...HTML...
hide_address_entry => 0
hide_radius_selector => 0
label_radius => Within
label_search => Address / Zip
map_height => 480
map_height_units => px
map_width => 100
map_width_units => %
remove_credits => 0
maplayout => ...HTML...
initial_results_returned => 25
max_results_returned => 25
message_bad_address => Could not locate this address. Please try a different location.
message_no_results => No locations found.
instructions => Enter an address or zip code and click the find locations button.
label_hours => Hours
label_image => Image
theme => a_gallery_style
style_id =>
layout => ...HTML...
log_schedule_messages => 0
google_geocode_key => AI...HY
google_server_key => AI...HY
url_control_description =>
The Patch Journey
One reason why this issue was hard to track down was several vectors impacting the settings data store. We found some installations impacted by changes between how WordPress 6.x and earlier were handling data updates. Other users were impacted by a change to how MySQL stores numbers for the latitude/longitude (floats) that would flag the underlying SLP table structures as changing every update. This required several patches to resolve backward compatibility issues with WordPress and MySQL.
We thought that resolved most of the issues for our WordPress users.
We also resolved several code bugs within our application that was causing problems with when settings were loaded. With some features active we’d find code logic running far too early (before settings were loaded) and causing a chain reaction that overwrites the settings with the default values.
The latest patches to the Store Locator Plus® base plugin resolves the internal code issues in what should be the final patch related to this issue. It will stabilize settings for both SaaS and WordPress plugin users.
An Added Bonus
As an added bonus, we were able to simplify the codebase in several areas related to data structures. These changes speed up the plugin update process for our WordPress users (this does not impact our SaaS users). The changes also simplify the code making it less fragile, easier to maintain, and presents a smaller runtime memory footprint. For both SaaS and WordPress users the simpler code means slightly faster data fetches when people are viewing the list of locations via your Google Map displays.
The Resolution
After our WordPress users upgrade to the latest version of the Store Locator Plus® WordPress plugin, this issue will no longer be a problem. For our Store Locator Plus® SaaS users, the patch is already underway. SaaS users that were impacted had their settings restored after a prior update (SaaS users have no Google keys to worry about, so map display and location updates were never impacted).
