Since the last time the topic of Breadcrumb NavXT and bbPress Compatibility was investigated, almost 6 years ago, a little has changed in how both plugins operate. In fact, due to a change in how bbPress operates internally, Breadcrumb NavXT now supports post type jumping.
Out-of-the-box, forums and topics should work well. However, the settings recommendations have changed since the last visit of this topic. The current settings recommendations are:
Forum Root Page and Topic Root Page – Set these to be equal and to whatever page you have set as ‘Forum Root’ under Settings > Forums.
Forum Archive Display – Unchecked
Forum Hierarchy Display – Checked
Forum Hierarchy – Post Parent
Topic Archive Display – Checked
Topic Hierarchy Display – Checked
Topic Hierarchy – Post Parent
What Doesn’t Work
Out-of-the-box, topic tag archives still won’t work as expected. Additionally, the search page, search results page, and user pages do not work. These all require custom, bbPress specific code.
Recently, Breadcrumb NavXT bbPress Extensions was updated to include support for the search page, search results pages, and user pages (at least the landing page for user pages, the various sub-pages are not supported yet). This is in addition to fixing the how topic tag archives show up in the breadcrumb trail.
Holy post type jumping Batman! This second feature release of 2020 changes how post type archives are handled when following a post parent hierarchy. Additionally, a bug introduced in 6.5.0 was fixed where an error that would be thrown in the WordPress dashboard if the administrator role does not exist.
Previously, if the post type changed while following the post parent hierarchy, the post type of the current item was used for the post type archive. In 6.6.0, this behavior changed to use the post type of the highest level post in the post parent hierarchy. The old behavior just didn’t make sense and causes problems with plugins that use multiple custom post types in the same hierarchy. A side benefit of the change is improved bbPress and BuddyPress support.
Holy taxonomy jumping Batman! This first feature release of 2020 changes the way taxonomies are handled when passing from function to function. Now, it is possible to change the taxonomy, in addition to the term, used for a post’s hierarchy using the bcn_pick_post_term filter. Additionally, the bcn_breadcrumb_linked filter was added to allow manipulation of the breadcrumb’s linked state. On the administration interface front, a new capability was introduced, bcn_manage_options. Lastly, a bug was fixed in the settings exporter that caused it to generate non-importable settings files when certain HTML entities were present in a setting.
In Breadcrumb NavXT 6.4.0, the way URLs and the linked state for individual breadcrumbs changed. This was to facilitate the ability to place the %link% tag in unlinked breadcrumb templates. As part of this bcn_breadcrumb::set_linked() was introduced. To allow users to control the behavior of this function, the bcn_breadcrumb_linked filter was added in 6.5.0.
Up until Breadcrumb NavXT 6.5.0, the manage_options capability was used to gate access to the Breadcrumb NavXT settings page. While this did insure the proper level of authority for modifying settings, it did not allow flexibility to add the ability to mange just the Breadcrumb NavXT settings to a role. Thus, in 6.5.0, the bcn_manage_options capability was added. By default this capability is added to the administrator role.
Holy incremental improvements Batman! This second feature release of 2019 changes the way private posts and non-hierarchical taxonomies are handled. As part of these changes, a new filter was added bcn_show_post_private. Additionally, the %link% template tag is now allowed in the “unlinked” breadcrumb templates. Lastly, how the Media post type settings are handles changed. Previously, it was referred to as “Attachments” within the Breadcrumb NavXT settings page. Now, this post type is referred to by its actual name (Media) and additional settings are available for it in the settings page.
Beginning in 6.4.0, the default behavior for private posts has changed. If a parent of a post has the published status of private, it no longer will be included in the breadcrumb trail (Breadcrumb NavXT will skip over it). While this was deemed the most appropriate behavior, some users may want the old behavior. To facilitate that, the bcn_show_post_private filter was added in 6.4.0.
Since 3.9.0, Breadcrumb NavXT has attempted to associate a taxonomy with a post type to include the type archive in the breadcrumb trail. This was not controllable (if the post type had an archive and it was enabled in the settings for that post type, it would show up in the breadcrumb trails for associated taxonomy terms). To allow users to control this behavior, the bcn_show_type_term_archive filter was added in 6.4.0.
Previously, the use of non-hierarchical taxonomies as the parent for posts was handled in a very different manner than hierarchical taxonomies. This is quite hacky, and incompatible with the newer bcn_display_json_ld() function. To resolve some of these incompatibilities, when a post has onl only a single non-hierarchical term, the hierarchical term codepath will be used. This will result in the same breadcrumb trial being produced, however, it will no longer cause issues with bcn_display_json_ld.
Holy Gutenberg breadcrumb trail block Batman! Originally scheduled for inclusion in Breadcrumb NavXT 6.2, the Breadcrumb Trail Gutenberg Block finally makes an appearance in 6.3. Additionally, changes were made to improve accessibility standards support (both in the settings page and in the breadcrumb trail). Lastly, a bug that caused a PHP error in bcn_breadcrumb_trail::fill() has been fixed.
Back in 6.0, the bcn_display_attributes filter was added to replace the old bcn_li_attributes filter. This was little more than a name change for the filter. Unfortunately, neither filter is easy to use—both require string processing. As an alternative, easier to use filter, bcn_display_attribute_array was added to Breadcrumb NavXT 6.3. This filter works against a key-value pair array of the attributes.
bcn-aria-current Template Tag
To facilitate WAI-ARIA Breadcrumb support, a new template tag was added in 6.3. Unlike the other template tags that start and end with %, this template tag is simply bcn-aria-current. This tag is replaced with aria-current="page" when the breadcrumb represents the current page, otherwise it is replaced with an empty string.
As always, you can grab the latest version of Breadcrumb NavXT from the Breadcrumb NavXT page. If you experience any issues with this version of Breadcrumb NavXT, please leave a comment on this post detailing the issue.