Breadcrumb NavXT 6.0.4

This is the fourth bug fix release of the 6.0 branch of Breadcrumb NavXT. Two bugs were fixed in this release: both issues that resulted in PHP Notices being generated. One on the page for posts when the display blog breadcrumb option was disabled was fixed. The other, on the archive pages when attachments are set to display in said archive. Additionally, the settings change that required migration in 6.0.0 is now automatically applied to the settings used by bcn_display().

The first issue was due to the massiveĀ  reworking of the bcn_breadcrumb_trail class. In the process of making the fill() function pass in the state into the do_* functions, the code handling the inclusion/exclusion of the blog breadcrumb was erroneously partially removed. While this was mostly fixed in 6.0.1, when on the blog page, and when the blog breadcrumb was set to be excluded, PHP Notices were thrown due to improper handling of this situation.

The second issue, as with the first, was due to the reworking of the bcn_breadcrumb_trail class. The call to do_root() in the block that handles archives ends up with a PHP notice due to the root page not being defined for attachments. This only happens when explicitly modifying WordPress’ behavior so that it includes attachments to the results of a wp_query for archives.

In 6.0, the internal name for the hierarchy type and hierarchy display settings was changed to match their actual function (previously they were taxonomy type and taxonomy display). Without migrating the user settings to the new names, the default values will be used by Breadcrumb NavXT. For many users, this is not a problem. However, if either of these settings had been adjusted, the behavior would not match expectations until the user ran the migration routine in the settings page.

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.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT 6.0.3

This is the third bug fix release of the 6.0 branch of Breadcrumb NavXT. Two bugs were fixed in this release: an issue that allowed an improper breadcrumb to be added to the trail for pages, and an issue where the roots for posts and pages were not tracking updates made under Settings > Reading.

Both issues stem from a common cause. Previously, posts of the post and page post types were treated specially within bcn_breadcrumb_trail. In both cases, this special code was largely redundant provided a few changes were made. While these changes were made, a few things were lost along the way.

The first caused do_root to try to inject a breadcrumb for a root page for pages (doesn’t currently make sense for it to do as that’s the home breadcrumb). In some cases this breadcrumb was missing a title, so it looked like there was a double separator. In other cases, a title was used, but it did not make sense for the breadcrumb trail.

The second was the result of removing the hard-coded ties for root pages of posts and pages. Since the root pages were no longer hard-coded they could fall out of synchronization with the dashboard settings. Hence, changes made to the homepage, under Settings > Reading, would not be reflected in the breadcrumb trail.The equivalent issue for posts was fixed when fixing the issue regarding the inclusion of the blog breadcrumb in 6.0.1.

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.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT 6.0.2

This is the second, and hopefully last, bug fix release of the 6.0 branch of Breadcrumb NavXT. Four bugs were fixed in this release: Two issues with bcn_display/bcn_display_list, an issue with page hierarchy, and an issue with how the settings page displayed the Breadcrumb Separator.

In rewriting bcn_breadcrumb_trail::display, a common set of code is now used for both bcn_display_list and bcn_display. However, there was an error in 6.0.0 and 6.0.1 where a requisite parameter was not passed into the new bcn_breadcrumb_trail::display when calling bcn_display_list.

The $reverse parameter for bcn_display and bcn_display_list, while reversing the order of the breadcrumbs, neglected to handle the separator and element classes correctly. Changes made to bcn_display in 6.0.0 introduced part of this issue. Reviewing past releases, improper handling of the element classes had been part of bcn_display_list for quite a while.

In the refactoring of the code handling posts, the code that handles pages is now the same as any other hierarchical post type. However, this depends on internally set page hierarchy type and page hierarchy display settings. Since these settings are not user facing, there was a way for them to become corrupt. This results in pages not having their parent’s in the breadcrumb trail.

In the settings page, the Breadcrumb Separator and the Paged Template were changed from regular text inputs to textboxes. Changes to the text input in adminKit 2.0 changed how HTML was handled. While the fields handled HTML, HTML entities (e.g. >) were rendered by the browser. This could cause confusion as this behavior was inconsistent with the other settings fields.

Lastly, a warning is now raised if bcn_breadcrumb::type is not an array.

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.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT 6.0.1

This is the first, and hopefully only, bug fix release of the 6.0 branch of Breadcrumb NavXT. Two bugs were fixed in this release. An issue where changes to the hierarchy type for any post type would not save was fixed. Additionally, the issue where the blog display setting was ignored was fixed.

The first issue was due to some rewrites to the adminKit class that handles the output of the settings form elements. As part of these changes, the radio button element was rewritten. A bug was introduced where the value for each radio element was improperly set to current setting value rather than using the value parameter passed into the function.

The second issue was due to the massiveĀ  reworking of the bcn_breadcrumb_trail class. In the process of making the fill function pass in the state into the do_* functions, the code handling the inclusion/exclusion of the blog breadcrumb was erroneously partially removed. This provided inconsistent behavior between single posts and various archives.

Lastly, the Blog Template and Blog Template (Unlinked) settings were removed. Since these correspond to the Post (post type) root page, they have been ignored since the introduction of root pages. As they do not affect the output of the breadcrumb trail, they are being removed.

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.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT 6.0.0

Holy refactored bcn_breadcrumb_trail class Batman! For the first major release in four years, the focus was on improving Breadcrumb NavXT’s internal components. On the new features front, two new filters were added. Additionally, HTML tags are now available for the included widget’s pretext field. On the bug fix front, two UI/UX bugs involving settings groups were fixed in the settings page. Finally, code containing calls to functions deprecated in PHP 7.2 was reworked to remove the deprecated function calls.

One of the largest changes in this version was the way the bcn_breadcrumb_trail class works internally. For end users, the functionality should be the same. However, for developers digging into the inner workings of the plugin, things have changed. Previously, the do_* functions occasionally contained calls to functions that depended on the state of the global $wpdb variable. Much of the effort put into 6.0.0 was to change this. Now fill() handles all state determination. This is advantageous for cases that require passing in the state to the appropriate do_* function.

Hook Changes

Ignoring deprecations (more on those below), there are four filter changes in Breadcrumb NavXT 6.0. One filter gained an additional parameter, and three new filters were added. A third parameter containing the name of the post type (when applicable) was added to bcn_show_tax_private. bcn_default_hierarchy_display and bcn_default_hierarchy_type were added to facilitate overriding the default choices Breadcrumb NavXT makes for CPTs before the user has save settings. Lastly, bcn_display_attributes was added to replace bcn_li_attributes.

Deprecations

As part of a major refactoring of the bcn_breadcrumb_trail class, several functions were deprecated, and a couple were removed. Below is a summary of the changes.

Deprecated Functions:

  • bcn_breadcrumb_trail::display_list()
  • bcn_breadcrumb_trail::do_attachment()
  • bcn_breadcrumb_trail::do_archive_by_date()

Deprecated and Removed Functions:

  • bcn_breadcrumb_trail::do_front_page()
  • bcn_breadcrumb_trail::find_type()

Deprecated Filters:

  • bcn_li_attributes

For more information on these deprecations, see the Changes to Note Before Upgrading to Breadcrumb NavXT 6.0 article. This article covers these changes in greater detail.

Translations

As explained in the Breadcrumb NavXT Translations Moving to Language Packs article, Breadcrumb NavXT has moved away from shipping translations with the plugin. This is the first release to ship without any included translations, all translations are available via language packs, or from the Breadcrumb NavXT Translation Project.

If you would like to contribute to translating Breadcrumb NavXT, please visit the Breadcrumb NavXT Translation Project. A big thanks to all of the translators that have contributed to the translations in the past and continue to contribute.

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.

-John Havlik

[end of transmission, stay tuned]