It is time to test the Tagalong premium add-on and SLP 3.9.2 beta. If you are on the beta test list, please check your email coming from MailChimp shortly for the download links. You should NOT install beta apps on a live site.
Store Locator Plus 3.9.2
SLP 3.9.2 has some notable behind-the-scenes changes as I continue to work toward a more stable platform and something that is far more extensible that the original base product. The three primary core changes, which should have little-if-any impact on the user experience are:
- Start of a new locations class.
This creates an “in memory” representation of store locations. In the past this has been handled by completely independent variables within the application. Every page, every menu tab, every search result was handled slightly differently. The new location class will create a single in-memory object and a defined interface for getting and setting location data. This new class is only in use in a few places but over the coming updates I will continue to work toward replacing ALL independent variables with the location class object.
End result: faster, smaller, more stable, more extensible code.
- Introduction of new SLPlus class.
This will do the same for the overall plugin as the locations class does for locations. It gives a structured way to access things that relate to how the plugin operates, moving ALL elements of the admin and user experience into the control of a single code structure. Most WordPress plugins use an ad-hoc approach, which leads to user experience inconsistency and bugs when elements of the plugin are changed. Store Locator Plus was originally built in ad-hoc mode and I’ve slowly been replacing each component with proper objects. This new high-level SLPlus class will now start connecting all those pieces together so the entire plugin works as a cohesive unit.
Again: faster, smaller, more stable, more extensible as this gets implemented over the next few months.
- Custom Page Type : store_page
The custom page type, store_page, is now a core element of the Store Locator Plus plugin, not just created and invoked when the Store Pages add-on is available. Using the WordPress custom post types is a far better solution to providing extended data attributes on locations versus continually extending and updating the custom SLP locations table. This will allow for a number of add-on packs in the future that can add custom field types, sorting, filtering, and other elements. Tagalong is using this to store category relations.
This does NOT mean store pages are now enabled and freely available. The extended store_page data is active in the WordPress database but there is no admin UI or public interfaces to those pages UNLESS someone purchases the Store Pages add-on pack. The nice thing about using this method, however, is that if you do use Store Pages or add it at a later date, any of the extended data will be readily available. Things like store categories assigned via Tagalong will be readily accessible to the Store Page.
Other changes that are notable:
- CSS Themes for Store Locator Plus are now in the free base product, not just the Pro Pack.
- The search form newlines have been stripped to keep the search form layout happy with poorly written themes.
- Code commenting has been updated and new Code Docs are now being published online.
- Some basic CSS updates to give devs more control over UI elements.
Tagalong now works with Store Locator Plus 3.9.X. There have been a significant number of changes in the guts of Tagalong, but I did not get nearly as far as I’d have liked with the feature set. The main focus was on making sure the plugin works 100% without the Store Pages add-on pack. While the Store Pages add-on pack will still provide some extra interface and location management options, it is not longer required to add some of the extended features for this plugin.
Map markers have been fixed (again) as have some of the hooks to set the icons.
Getting the medium icon in the results output did NOT make it in this release, however I decided it was better to get a 3.9 compatible version out the door and work on extensions next week than hold it up to add some new features. Tagalong work will continue next week in the 0.8 release (or possibly even 1.0 ready-for-production release).