Breadcrumb NavXT 6.5.0

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.

bcn_breadcrumb_linked Filter

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.

bcn_manage_options Capability

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.

-John Havlik

Non-Hierarchical Taxonomies and JSON-LD Compatibility

While Breadcrumb NavXT for some time has provided methods for generating JSON-LD formatted BreadcrumbLists, the use of non-hierarchical taxonomies within a breadcrumb trail may result in non-compliant breadcrumb trails. For the case of a post only being a member of a single term within a non-hierarchical taxonomy, since Breadcrumb NavXT 6.4, compliant JSON-LD is generated. However, when a post is a member of multiple non-hierarchical terms within the same taxonomy, we run into problems.

When using the normal display functions, all of the terms in the non-hierarchical taxonomy that the post is a member of will be displayed, separated by commas. This behavior has been more-or-less the same since support for tags was added in 2.1.0. In essence, when there are multiple terms, there is a second dimension to the breadcrumb trail for that specific breadcrumb.

Unfortunately, it does not appear that Schema.org BreadcrumbList has the facility to support multi-dimensional breadcrumbs. Hence, a single term needs to be selected when there are multiple for a post. Luckily, the bcn_post_terms filter can be used to do this.

The Code

Introduced in Breadcrumb NavXT 5.4, bcn_post_terms allows us to filter out all of the terms returned by post_terms(). In this case, only the first term is wanted.

add_filter('bcn_post_terms','my_bcn_post_term_selector', 10, 3);
function my_bcn_post_term_selector($terms, $taxonomy, $id)
{
	//Check to ensure the terms list is an array and there is more than one item in it
	if(is_array($terms) && count($terms) > 1)
	{
		//Return the fist item in a new array
		return array(0 => reset($terms));
	}
	return $terms;
}

To get started quickly, just copy and paste the above code into a site specific plugin and start playing.

Note: This code relies on behavior introduced in Breadcrumb NavXT 6.4 and will not work in prior versions.

-John Havlik

Breadcrumb NavXT Attributes 1.0.4

Announcing the immediate availability of Breadcrumb NavXT Attributes 1.0.4. This version features two bug fixes. The remove current item functionality within the shortcode works again in modern versions of Breadcrumb NavXT. Additionally, the post type root page is no longer erroneously included in the first breadcrumb trail generated by Breadcrumb NavXT Attributes.

Users with valid and activated license keys should receive an update notification within the WordPress dashboard and be able to use the update mechanism to update (just like with any plugin in the WordPress.org repository).

-John Havlik

Breadcrumb NavXT Menu Magic 2.1.0

Announcing the immediate availability of Breadcrumb NavXT Menu Magic 2.1.0. New in this version is %DynamicTerm% menu item functionality. Additionally, improvements in Breadcrumb NavXT 6.4 support were made in this version.

The %DynamicTerm% Custom Menu Item

This new feature allows Breadcrumb NavXT Menu Magic to include the breadcrumbs for the term hiearchy normally associated with a post within the breadcrumb trail. Using this functionality requires adding a custom menu item to your menu. This menu item needs to have the Navigation Label set to %DynamicTerm%, and the URL should be set to #. Any posts (of any post type except the built-in page post type) placed under this custom menu item will now have the term hierarchy replace the custom menu item in their breadcrumb trails. Note that if the hierarchy for the post type in question is not a taxonomy (e.g. post parent, or date), the %DynamicTerm% menu item will be ignored.

Old Version Availability

Starting today, only the current release (e.g. 2.1.0) and the latest bug-fix of the prior release (2.0.1) will be available on the download list. All other releases are available upon request via opening a support ticket.

Users with valid and activated license keys should receive an update notification within the WordPress dashboard and be able to use the update mechanism to update (just like with any plugin in the WordPress.org repository).

-John Havlik

Breadcrumb NavXT 6.4.0

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.

bcn_show_post_private Filter

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.

bcn_show_type_term_archive Filter

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.

Non-Hierarchical Taxonomies

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.

-John Havlik