Breadcrumb NavXT WPML Extensions 1.1.0

Announcing the immediate availability of Breadcrumb NavXT WPML Extensions 1.1.0. This version switches to the WPML 3.2+ API for translating strings. Backwards compatibility with WPML 3.1 (and older) is maintained. However, users of other plugins (Polylang) that provide emulations of the WPML API may no longer work. Speaking of which, Polylang will get its own extension in early 2016. Additionally, a bug that prevented updated setting strings from Breadcrumb NavXT from showing up in the string translation screen on non-multisite installs in a timely matter.

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]

Breadcrumb NavXT Multidimension Extensions 2.0.0

It was not too long ago the last release was announced, and now a new version of Breadcrumb NavXT Multidimension Extensions is available. Breadcrumb NavXT Multidimension Extensions 2.0.0 adds three new features; two new filters and one setting.

The two new filters, bcn_multidim_term_children and bcn_multidim_post_children, are in response to a need to filter the taxonomy terms and posts (pages) included in the second dimension of the breadcrumb trail. They filter the arguments string passed into wp_list_categories() and wp_list_pages() respectively. See the Breadcrumb NavXT Multidimension Extensions Filter Reference for more details on these two filters.

Additionally, a setting was added to control the display of the second dimension breadcrumbs of the home breadcrumb when on the home page. This only applies to when children are displayed in the second dimension (either via the widget, or calling bcn_display_list_multidim_children()). This setting is available on the Breadcrumb NavXT settings page under the Extensions tab.

You can grab Breadcrumb NavXT Multidimension Extensions from the WordPress.org plugin repository.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT Menu Magic 1.1.0

Announcing the immediate availability of Breadcrumb NavXT Menu Magic 1.1.0. New to this version is support for UberMenu’s Dynamic Posts and Dynamic Terms. If a post is in, or is a decedent of a post in, the Dynamic Post menu listing, that structure is reflected in the breadcrumb trail. Likewise, if a post is a member of a term that is represented in the Dynamic Term menu listing, that structure is reflected in the breadcrumb trail.

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]

How to Implement Schema.org BreadcrumbList with Breadcrumb NavXT

Recently, Google began supporting the new Schema.org BreadcrumbList microformat. This happens to be slightly more verbose than the previous RDFa Breadcrumbs setup, but Google is much better at parsing this new format, and it is fully HTML5 compliant. While there is no ‘one click’ configuration for RDFa breadcrumbs within Breadcrumb NavXT, support for them is not too difficult to configure. Note, this guide depends on features made available in Breadcrumb NavXT 5.3.0 and will not work fully in previous versions.

Calling Code Modifications

To begin, the wrapping div for the calling code needs to have typeof="BreadcrumbList" vocab="https://schema.org/" added to it. If you are migrating from RDFa Breadcrumbs, this code replaces xmlns:v="http://rdf.data-vocabulary.org/#". Below is an example calling code block for users of the regular bcn_display(); function.


<div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/">
    <?php if(function_exists('bcn_display')) { bcn_display(); }?>
</div>

Settings Modifications

In general, you need a

<span property="itemListElement" typeof="ListItem">

wrapping around every breadcrumb, and an inner element containing property="name" that directly wraps the page title, and property="item" typeof="WebPage" in the anchor if the breadcrumb contains a link. Lastly, each breadcrumb needs a (note that the %position% template tag is a new feature in Breadcrumb NavXT 5.3.0). For the most part this will result in two replacements need to be made to all of the breadcrumb templates. For the linked breadcrumb templates, replace:

<a title="Go to %title%." href="%link%">%htitle%</a>

or

<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" title="Go to %title%." href="%link%" class="%type%">%htitle%</a></span>

with:

<span property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" title="Go to %title%." href="%link%" class="%type%"><span property="name">%htitle%</span></a><meta property="position" content="%position%"></span>

Note the extra span containing the typeof declaration. This is necessary for Google to pick up on the breadcrumb objects (even though the tag is redundant as the property should work on the anchor).

For the unlinked breadcrumb templates, replace:

%htitle%

or

<span typeof="v:Breadcrumb"><span property="v:title">%htitle%</span></span>

with:

<span property="itemListElement" typeof="ListItem"><span property="name">%htitle%</span><meta property="position" content="%position%"></span>

To jumpstart this replacement process, you can import the following Breadcrumb NavXT settings XML file. Breadcrumb NavXT Schema.org BreadcrumbList settings file (Right click and select “Save As”).

Final Notes

After updating your settings, use Google’s Structured Data Testing Tool to verify that your BreadcrumbList is detected properly by Google.

-John Havlik

[end of transmission, stay tuned]

Explained: The “Your settings are out of date. Migrate now.” Message

After updating Breadcrumb NavXT, WP Lynx, or any other plugin that used adminKit, you may be greeted with the following message on the settings page:

Your settings are out of date. Migrate now.

This post explains what is happening when “Migrate now” is clicked, and provides some background and insight as to why this message exists.

Continue reading