Using Schema.org’s Breadcrumb Microdata with Breadcrumb NavXT

Note, that Schema.org breadcrumb has been replaced by the newer BreadcrumbList. Please see the How to Implement Schema.org BreadcrumbList with Breadcrumb NavXT article for more information.

Unlike Google’s Breadcrumb micodata format, Schema.org’s microdata format for breadcrumbs is very easy to implement. There is no need for nested tags, or overly verbose and redundant tags. Instead, there is just two modifications from the standard Breadcrumb NavXT setup.

Breadcrumbs are a property of the Schema.org WebPage CreativeWork type. The first thing you must do to use the Schema.org microdata is declare the body of the (x)HTML page to be of type WebPage. You’ll need to modify your current WordPress theme so that the opening body tag is:

<body itemscope itemtype="http://schema.org/WebPage">

Once we’ve declared our body to be of type WebPage, all we have to do is include itemprop=”breadcrumb” in the div wrapping around the breadcrumb trail. For example, we’d use:

<div itemprop="breadcrumb" class="breadcrumbs">
    <?php if(function_exists('bcn_display')) { bcn_display(); }?>
</div>

That’s it! Note that this does not work with the included widget in 4.0.1, and is something that will be changed for the next release.

-John Havlik

[end of transmission, stay tuned]

Use an Icon/Image for the Home Breadcrumb

This is a really easy one. However, as I’ve been asked about it several times in the past few weeks, I’m going to post about it.

One way of using an image rather than just text for the home breadcrumb was covered in the Vista-Like Breadcrumbs for WordPress article back in 2009. However, that guide is more or less an advanced topic, and directly accesses the bcn_breadcrumb_trail class, something that is currently not recommended.

Since at least Breadcrumb NavXT 3.0, the settings page allows you to use valid HTML in some fields. In the future this will be more obvious due to settings page tweaks as it is not exactly obvious that this is possible. There are really only three steps to changing from text to an image for the home breadcrumb:

  1. Go to the Breadcrumb NavXT settings page (under Settings > Breadcrumb NavXT).
  2. On the “General” tab, look for the “Home Template” option.
  3. Replace the text value of the “Home Template” option with the valid HTML for your image. e.g.
    <img src="http://YOUR_URL/YOUR_HOME_IMAGE" alt="Home"/> where YOUR_URL is the URL for your website, and YOUR_HOME_IMAGE is the name of the image, including file extension.

That’s it, and it also works for the “Blog Breadcrumb” and “Mainsite Breadcrumb” in setups that have these breadcrumb types.

-John Havlik

[end of transmission, stay tuned]

Conditionally Remove Home from the Breadcrumb Trail

Since Breadcrumb NavXT 3.5.0, two WordPress actions have been added into Breadcrumb NavXT. They are the bcn_before_fill and bcn_after_fill actions. As their names suggest, the first runs at the beginning of bcn_breadcrumb_trail::fill(), and the second runs at the end of the same function. Both actions pass a reference to the current bcn_breadcrumb_trail instance into the hooked function. This post quickly covers a use case for the bcn_after_fill action.

Continue reading

Breadcrumb NavXT Line 53 Error

If you are receiving an error similar to the following while activating Breadcrumb NavXT, please continue reading.

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /wp-content/plugins/breadcrumb-navxt/breadcrumb_navxt_admin.php on line 53

This should be only caused by PHP4. The line of code PHP is failing on is protected $version = '3.5.1';. Specifically, it is the protected part that PHP4 does not know about, and subsequently chokes on. Some users have claimed to receive this in a PHP5 environment. If you receive this error, please insert

<?php
if (current_user_can('administrator')){
    phpinfo();
}
?>

somewhere in your footer. Then, open up a page on your site and look in the output from phpinfo for your PHP version. If the version is not PHP5.2 or newer, please inquire with your webhost on how to migrate to a modern PHP installation. If the output states you have a version of PHP that is 5.2 or newer, please copy the output and e-mail it to me (full output). Feel free to provide an abridged output in the comments section of this page.

-John Havlik

[end of transmission, stay tuned]