It’s been quite a long time since the last version of Cardinal Store Locator was released but the wait is finally over. There were a variety of reasons for the delay but the primary was a goal to include several larger new features and release it altogether as a big new update. Moving forward, future updates will be smaller and more iterative. To facilitate this efficient new release approach a deployment pipeline has been set up for Cardinal on CircleCI, which significantly streamlines the preparation of plugin files for release.
Release highlights
Gutenberg integration
The Gutenberg editor was released since the last version of Cardinal Store Locator was deployed and while the previous version of Cardinal still technically works with Gutenberg, new functionality was developed for a more seamless integration. The biggest change is the location of the address on the admin screen when adding or editing location post. Instead of the location address fields displaying in a meta box below the content editor, they now appear in the right column of the Gutenberg editor by making use of SlotFill. A JavaScript listener will trigger once address, city, state, and postal code fields have values that geocodes the address after three seconds as pictured below:
Single map block
Along with Gutenberg integration a custom new single map block is now available, which allows you to add a map with a single location on any post or page of your site. This block is completely separate from the locator functionality and the purpose is to offer more traditional mapping functionality in addition to the locator. With this new block Cardinal can now be described as both a locator and mapping plugin.
Background geocoding functionality
New background processing functionality has been added to the plugin that attempts to geocode any location post that has an address but no coordinates. This process is automatic and runs on occasion while keeping track of problematic location addresses that are logged both in a transient and in the plugin’s Support tab for straightforward review.
Location import functionality via WP-CLI
Import functionality is a feature that’s long been needed in the Cardinal plugin and the good news is that initial import functionality is now available via a custom WP-CLI command (terminal command). At this point it’s possible to import a CSV file with the command but additional file types will be added in a future version in addition to more extensive import features. Please refer to the following tutorial if you’re interested in taking advantage of this for your site.
Changelog
Version 1.5.0
- Added
bh_sl_import_file_args
filter to allow mapping of CSV column names to be used with the WP-CLI import functionality. - Added
bh_sl_import_post_meta
filter to allow addition and/or modification of location post meta during import to be used with the WP-CLI import functionality. - Added
bh_sl_location_data_structure
filter to allow location data structure to be modified. - Added
bh_sl_region_label
filter to allow manipulation of region select option text. - Added support and integration for Gutenberg editor.
- Added new background process functionality to move coordinates into the custom DB table in place of the previous cron setup.
- Added new background process functionality that attempts to geocode any location post that doesn’t yet have coordinates.
- Added new custom location import functionality with WP-CLI command
wp cardinal-locator import
. - Added new Featured locations distance restriction under Primary Settings to restrict featured locations by a specified distance.
- Added new “Single Location Map” block to add a map with one location on any Gutenberg enabled post type.
- Added
show_in_rest
parameter to location categories taxonomy to get it to show up in Gutenberg editor. - Fixed foreign character issue by utilizing
JSON_UNESCAPED_UNICODE
in JSON data encoding. - Fixed functionality to re-check license status before displaying license error notice.
- Fixed issue with Full map start list limit setting not getting applied.
- Fixed issue with HTML encoded filters not firing correctly – ex: filters with ampersands.
- Fixed locations custom post type being registered when other post type is selected as data source.
- Updated bundled Handlebars to v4.7.6.
- Updated shortcode to accept an id attribute to specify a location outside of the single location template.
- Updated locations transient code so that it’s updated instead of deleted when locations are added or removed.
- Updated single location map to work with
cslCreateMarker
JavaScript callback. - Updated taxonomy code so that Location Categories taxonomy is applied to selected post type when other post type is used as data source.
- Updated taxonomy (category) filtering to better account for exact matches vs. substrings.