Version 8.5.0 of the Advanced Sidebar Menu plugin is now available and ready for general use. This version focused on compatibility with the new Block-based Widgets available in WordPress core version 5.8.
There have been a couple follow-up dot releases, so if you’re running version 8.5.0, be sure to update to the latest dot version. At the time of writing, the latest dot version is 8.5.2.
Block-based Widgets
With the release of WordPress version 5.8, Block-based Widget support was added to WordPress core. This changed the entire look and feel of the widget editing interface and the way widgets are styled. It also changed the way JavaScript is supported in widget forms.
Needless to say, this plugin’s widgets have much custom styling and JavaScript to create their intuitive user experience. In response to the block-based widgets, we revamped our plugin styles and JavaScript.
This plugin is now fully compatible with block-based widgets.
Backward compatibility
We fully understand many sites are not yet on WordPress 5.8 and made sure to continue to support the classic widgets interface. With the release of the Classic Widgets plugin, we know even if every one of our users are on WordPress 5.8, they may not be using block widgets. For that reason we have no intention of removing support for classic widgets for the foreseeable future.
Synchronize across areas
With the block-based widget functionality there are now 3 areas of a WordPress site which supports widgets. If we include the various page builder plugins and themes, we have:
- Block-based widgets screen.
- Customizer screen.
- Classic widgets screen.
- Page builder screen.
We put a lot of focus in this release to synchronize the functionality and styles across all widget areas. No matter where you are using the widgets, your widgets will function and you will have a consistent experience.
Elementor Enhancements
This plugin has supported Elementor for years, but a couple of areas were a little clunky.
- Sometimes accordion icons would double up when editing a page.
- Accordions did not function reliably inside popups.
These limitations have now been addressed.
- You will now only see one set of icons when editing a page no matter how many widgets are on the page.
- Accordion menus are fully functional within Elementor popups.
Category Enhancements
Category ordering
The category widget supports ordering categories or custom taxonomies by “Created.” This allows displaying either the oldest or newest category first. As “Created” was the default order, the widget saved an empty value when “Created” was selected. This worked fine unless a site filtered the default order for categories in some other way.
Going forward, the widget will store term_id
as it’s value when “Created” is selected. It will default to “Name” as that is the WordPress typical default order. Existing widgets will not be affected and will continue their saved order until it is changed.
Improved ancestor retrieval
When this plugin was originally written there was not a great solution built into WordPress core for retrieving parents and grandparents of custom taxonomies performantly. At that time we rolled our own and have included it ever since. Over the years a core function called get_ancestors
was improved enough to support what our widget required. We are now using get_ancestors
within the category widget instead of our own version.
Menu Item Classes
The pages widget ties into the WordPress core Pages_Walker
to generate its final HTML markup. This walker includes some standard CSS class names for various menu levels and provides the structure required for the widget’s styles and accordion functionality. The walker generates CSS class names great for pages, but does not support custom post types. To solve this we mimic the class names from pages and inject them into the menu for custom post types.
Over the past year or so, we’ve seen a couple of edge cases where a theme will remove or change the included CSS classes from the walker and break this plugin’s functionality. Going forward, the pages widget will automatically include the required CSS classes on all post types, including pages.
Miscellanious
- Requires version 8.6.0+ of the basic plugin.
- Removed deprecated
text/css
from<style>
tag. - Improved color picker styles in all contexts.
- Fixed notice level error when widgets are loaded without ids.