Want your breadcrumbs to show the tags your post is in, the latest development build of Breadcrumb NavXT will do that. To accommodate this new feature the settings API has been modified a bit to rename one option and three new ones were added. Naturally, hierarchical categories are the default setting, but if you’d rather use a flat scheme that can be done through tags. This is the only method to achieve displaying “multiple categories” that will be supported by Breadcrumb NavXT.
An additional note on the new breadcrumb class for 2.1. It will be possible to support breadcrumbs for pages that are dynamically generated by other plug-ins on existing WordPress pages. An example of such a page is the product pages created by e-commerce. This is due to a change in the class that has the breadcrumb generated separate of output. However, this does not mean I will be supporting these other plug-ins. The responsibility ultimately rests on the shoulders of the plug-in developers to support this. Note that the administrative interface will not work with this usage as the overriding plug-in will need to call and manipulate the class itself.
This evening I took a break from the development of Breadcrumb NavXT 2.1 and played with my GPX reader/plotter. Previously, on a 3.0Ghz Pentium 4 computer running linux and in Firefox 2.0 the maximum number of coordinates that can plotted using the GPolyline element was about 200. This was the max that maintained reasonable usability (the actual limit was somewhere in the 300s where it no longer rendered). With my laptop, a 2.8Ghz Core 2 Duo, still has a rather low limit of about 250 while maintaining usability. Some of my runs are over 300 track points, and these were not even that long of routes. I’m talking about somewhere between three and four miles.
Obviously this is not good, and that is why WP Trainer was not released last year. The solution to this problem is dynamic loading of the points, and using semi-sophisticated algorithms to remove “unneeded” points, such as ones that are outliers and ones that are in the middle of a straight line. Naturally, this is not a trivial thing to implement. Thus, it may be June before something is together for general consumption.
The latest development build of Breadcrumb NavXT now fully supports static front pages. Currently only the official WordPress method of defining a static front page is supported (using the options in Options>Reading). This was made possible thanks to some new conditional tags in WordPress 2.5. Thus, Breadcrumb NavXT 2.1 will require WordPress 2.5.
Next on deck is allowing breadcrumbs by tag or category. Categories would retain their current functionality, but tags will do what categories did in Breadcrumb Navigation XT. After that I’ll look into creating a widget for it. That will be the cutoff for 2.1, and I’ll do some code reduction as WordPress 2.5 will be a requirement so some old hacks can be removed. These are mainly located within the api file and only affect the administrative interface.
Version 2.1 will contain some major changes to the internal structure of the breadcrumb data object. Most of the API is not changing, and the changes are transparent for users of the administrative interface. Those who directly access the breadcrumb class will need to make sure to call assemble(); before display();. Failure to do so will result in unexpected behavior. These changes should be taken note of if using the latest SVN build of Breadcrumb NavXT, as it will be updated almost daily until things are ready.
Once the currently known bugs are worked out, which for the most part they are, the next order of business is getting things working correctly for static front pages. Static front pages will be supported via only one method of implementation for the time being. That method involves using the built in WordPress triggers, setting a page named home and setting the appropriate options in the administration panel under Options > Reading.
Even though 2.0.3 should have fixed the little PHP warning, it seems to not have. Fear not, this has been fixed in the SVN trunk. The other bug, which reveals it’s hideous head when activating the plug-in may be fixed as well. The error no longer gets thrown on the testbed, and it had to do with using require_once(); or include();. If anyone still receives either of these errors with the testing build please report it.
As an aside, Attachment NavXT won’t be developed. Later this month I’ll release the old code, but with the release of WordPress 2.5 it is no longer needed. In WordPress 2.5 there are some gallery functions that work with attachments, which is exactly what Attachment NavXT does.
A new version of WordPress is coming, and some big changes are in store for the administrative interface. This change makes some formerly good looking administrative interfaces look out of place in 2.5. On my testbed I installed the latest SVN version of WordPres, as of Sunday at 2:00PM CDT. Then I proceeded to test the latest trunk build of Breadcrumb NavXT. Beyond a doubt, everything works as it did in 2.0.0. Some things that were fixed in 2.0.2 have regressed, specifically on install no settings get set. I then went on testing Tom’s modified Administrative interface that he made look good in 2.5. The good news is that I can reproduce the odd bcn_security() can not be redefined error. The bad news is that I get that error. I’m not exactly sure how I got it to happen, but it may have to do with not disabling Breadcrumb NavXT and changing it’s files. Known things that won’t resolve the issue include:
Regressing to the old file.
Commenting out the “bad” code.
I’m going to get phpMyAdmin up and running this evening and hopefully see if WordPress is doing any caching of the code or not in SQL (I hope they aren’t). Restarting Apache should have cleared any code cache PHP would have setup, but I’ll do a grep for the code to see if it’s still magically hidden somewhere. Oddly enough the plug-in is seen by WordPress as activated, and going to the administration panel for it yields the first section (fieldset) and a half of options. However these are from the old code that no longer resides on the server. What’s also odd is that PHP claims that the function is defined at the opening brace and then complains that I tried to redefine it at the closing brace.