Changes to Note Before Upgrading to Breadcrumb NavXT 5.0

Breadcrumb NavXT 5.0 is very close to being ready for release. Unlike a typical release, quite a bit has changed under the hood this time, hence the bump up from 4.4 to 5.0. Development for 5.0 focused heavily on making Breadcrumb NavXT easier to extend. In doing so, it had to part ways with how some things were done in the past. The following changes are the most likely to affect current Breadcrumb NavXT installs.

Move to PHP5 Object Model

This release features a move to PHP5’s Object Model, including changing the default constructor from the class name (C++ style) to __construct(). All member functions and variables are now explicitly scoped as either private, protected or public. Additionally, some member functions have been explicitly made static (to allow static calling without causing strict warnings in PHP5.4).

Organizational Changes

Several internal changes were made to reorganize the plugin. One change that will affect third party code is the move from bcn_breadcrumb_trail::trail to bcn_breadcrumb_trail::breadcrumbs. For 5.0, bcn_breadcrumb_trail::trail will exist as pointer to the same data held in bcn_breadcrumb_trail::breadcrumbs. In the future bcn_breadcrumb_trail::trail will be removed and it is recommended that existing extension plugins to Breadcrumb NavXT be updated to reflect this internal change.

WordPress Multisite Changes

Support for multisite WordPress installs has changed quite a bit in 5.0. To support the new Network Admin settings page introduced in this version, the way settings are handled in multisite installs has changed. By default the settings set in the ‘Network Admin’ settings page will take priority over individual site preferences. This is different from the pre-5.0 behavior. If you have a multisite install, please read Controlling Breadcrumb NavXT Settings From the Network Settings Page.

-John Havlik

[end of transmission, stay tuned]

Breadcrumb NavXT 4.4.0

Holy API improvements Batman! As with 4.3.0, this release contains several smaller improvements rather than a single, or handful of ‘block buster’ new features. The largest set of these improvements is the addition, and improvement of several filters within Breadcrumb NavXT.

Of the new filters, bcn_template_tags has one of the larger impacts. It allows the addition of custom breadcrumb template tags. Other new filters include bcn_allowed_html, bcn_breadcrumb_template, and bcn_breadcrumb_url. For more information on these filters, please checkout the Breadcrumb NavXT Filters section of the documentation.

Additionally, the set of valid HTML for breadcrumb templates was revised and expanded. The basic set should now include a, img, span, h1, and h2 HTML tags. Added valid properties include:

  • aria-hidden
  • data-icon
  • itemprop
  • itemscope
  • itemtype

With the bcn_allowed_html filter the list of valid HTML tags and associated properties can be expanded upon without modification of the plugin.

The Translation Team:


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]

WordPress 10 Year Anniversary: Minneapolis Party

Today marks WordPress’ 10th year of existence. To celebrate, #wp10 parties are being held all over the world. In the Minneapolis/St. Paul area we met at Minnehaha Park. Unfortunately, the weather didn’t cooperate for the bike-ride/run that we planned to do before grilling. So, we stuck to socializing in the pavilion, grilling bratwurst (some hotdogs, chicken and a lonely hamburger made it to the grill as well), and eating birthday cake.

-John Havlik

[end of transmission, stay tuned]

Monitor Logins 0.2.0

Introducing Monitor Logins, a simple plugin that allows you to monitor login attempts (successful and unsuccessful) made against your user account on your WordPress install. Failed attempts to login to user accounts cause email notices to be sent to that user. That is, if they have notifications enabled. Notifications are enabled on a per user basis, and are off by default.

Additionally, Monitor Logins will remember devices used to login with, should a device be “new” upon successful login a notice will be sent to the user. Devices are forgotten if they have not been seen for a few months. The last several successful logins are remembered and displayed in a list akin to what Gmail does. Only a user can view his/her own login activity.

I originally wrote this plugin to gain greater visibility into login attempts made against user accounts on this site almost a year ago (Way before the recent botnet dictionary attacks). Since then, it has been steadily refined to make it more suitable for a wider range of users. For those of you who attend the MSP WordPress meetups, this is the plugin I demoed during a lightning talk session in March.

More information is available on the Monitor Logins project page.

Download Monitor Logins 0.2.0 from Git Hub.

-John Havlik

[end of transmission, stay tuned]

Benchmarking WordPress (Investigating the Optimal Server)

With WordPress powering an estimated 16.7% of all websites1, having tools to evaluate server performance for running WordPress is becoming necessary. At the time of writing this article, there are no known published investigations into determining the optimal server configuration for WordPress. Yet, hosting providers will make bold claims, such as “My blog is 4x faster than your blog”. While these claims make for entertaining t-shirts, without a defined methodology there is no way to verify them.

Continue reading


  1. Mullenweg, Matthew. “State of the Word 2012.” WordCamp San Francisco 2012. San Francisco .