Breadcrumb NavXT and WooCommerce Compatibility Tips

In general, Breadcrumb NavXT, due to its use of the WordPress API, is compatible with other plugins such as WooCommerce. Occasionally, this is not enough and additional code is required for proper functionality. Other times, as with WooCommerce, proper settings configuration is sufficient.

What You Need

These are the plugins and versions used when performing the testing reported on within this article:

  • WooCommerce – At the time this article was written, 3.1.0 was the latest available version and was the version tested against.
  • Breadcrumb NavXT – Tested against a development release of 5.7.1.

What Works

Since WooCommerce is relatively well behaved, Breadcrumb NavXT can easily generate the expected breadcrumb trail for WooCommerce resources. However, depending on how WooCommerce is setup, Breadcrumb NavXT may need a couple of settings to be changed. In general, the following settings changes are recommended for WooCommerce users:

  • Ensure that the “Products Root Page” in the Breadcrumb NavXT settings page (Settings > Breadcrumb NavXT > Post Types) is set to the same page as the “Shop page” setting in WooCommerce (WooCommerce > Settings > Products > Display).
  • Ensure that “Product Archive Display” is unchecked.
  • Ensure that “Product Hierarchy Display” is checked.

Other Notes

One thing to keep in mind: when changing the “Shop page” in WooCommerce, the “Products Root Page” in Breadcrumb NavXT will likely need to be changed as well. Otherwise, the Products page in the breadcrumb trail will not match the WooCommerce shop page.

-John Havlik

[end of transmission, stay tuned]

Making Sense of the *title Breadcrumb Template Tags

Currently, there are several, closely related template tags that each exhibit slightly different behaviors. These are: %title%, %htitle%, %ftitle%, and %fhtitle%. As their names suggest, they will be replaced with the resource’s title. However, how this title is processed differs between the tags.

Note that the “Max Title Length” setting is deprecated. Hence, both %ftitle% and %fhtitle% are deprecated and not recommended for use. They are included in this discussion for the sake of completeness.

Below is a table outlining the behavior of these tags for the same title with the max length set to ~10 characters and with the max length setting disabled.

Template Tag Max Title Length1 Title Result
%title% 10 Hello <em>World</em> Leaders Hello <em…
%htitle% 10 Hello <em>World</em> Leaders Hello <em…
%ftitle% 10 Hello <em>World</em> Leaders Hello World Leaders
%fhtitle% 10 Hello <em>World</em> Leaders Hello <em>World</em> Leaders
%title% Disabled Hello <em>World</em> Leaders Hello World Leaders
%htitle% Disabled Hello <em>World</em> Leaders Hello <em>World</em> Leaders

%title% and %htitle%

Notice that the resulting strings for the standard %title% tag and the %ftitle% tag do not contain HTML tags. Thus, they are safe for use within HTML tag attributes (e.g. the title attribute). To maintain HTML tags present in the resource’s title, use the %htitle% tag.

%ftitle% and %fhtitle%

Note that the Max Title Length setting does not affect the resulting string for the %ftitle% and %fhtitle% template tags. In fact, by design, they are the same as %title% and %htitle% when “Max Title Length” is disabled. However, note that since the Max Title Length setting is deprecated, these template tags are as well.

Lastly, note that when using the Max Title Length setting, HTML tags may be left open or even incomplete. Therefore, it is strongly recommended that CSS is used to trim the breadcrumb title length rather than the deprecated Max Title Length setting. An additional benefit to using CSS is it does not mess with the actual content of the breadcrumb trail, allowing search engines to pick up on the full titles rather than the trimmed ones.

-John Havlik

[end of transmission, stay tuned]

Notes:

  1. Note that use of the Max title Length setting has been deprecated in favor of using CSS to trim Breadcrumb titles lengths.

Breadcrumb NavXT Menu Magic 1.1.5

Announcing the immediate availability of Breadcrumb NavXT Menu Magic 1.1.5. This version fixes a bug relating to Breadcrumb NavXT Menu Magic’s handling of CPT root pages.

Previously, if a CPT root page was located in a menu, the menu hierarchy would only be followed when on said CPT root page, or if said root page had a parent page that is not the front page. This normally manifested itself when on a single post instance of a CPT, the menu hierarchy containing the CPT root page would not be followed. With version 1.1.5, Breadcrumb NavXT Menu Magic will always follow the menu hierarchy that a CPT root page is in.

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 BuddyPress Extensions 1.0.2

Announcing the immediate availability of Breadcrumb NavXT BuddyPress Extensions 1.0.2. This version fixes two bugs present in the previous version of Breadcrumb NavXT BuddyPress Extensions.

The first issue fixed was the PHP errors that appeared due to a change in made in Breadcrumb NavXT 5.7.0. Additionally, the cause of PHP errors on group creation pages on the front end has been fixed.

As for the version number, yes, this did move from 0.1.1 to 1.0.2. Rather than maintain sub 1.x version numbers, I am standardizing on 1.0 as the first public release of my extension plugins.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT WPML Extensions 1.3.0

Announcing the immediate availability of Breadcrumb NavXT WPML Extensions 1.3.0. This version fixes a compatibility issue with PHP7.1. Note this release temporarily breaks from semantic versioning due to a bug in 1.1.1 where the internal version was improperly set to 1.2.1.

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

[end of transmission, stay tuned]