Several users have asked for the ability to remove certain words like “The” and “A”, or even “Le”, “La”, and “Les” from the front of headings in their indexes. While I have already document how you can do that with AZIndex, the solution is not easy for novice WordPress users because it involves adding PHP code to one of your blog’s theme files, and if you accidentally make a mistake when inserting the code, it’s all too easy to crash your entire blog!
So I thought that there has to be a better, safer way to do this… and there is!
Tonight was a certainly a first for me. I was just setting of on my way to Pflugerville to play volleyball when I was cut off by a minivan driver turning right on red (legal in the US, but not when someone—i.e. me—is coming through the junction). I honked my horn, muttered a few choice words, overtook them, and that was that.
A couple of turns later I was catching up with someone in a truck and thought I would be able to overtake before we came to a T-junction where I had to turn right. So I started to overtake, but the guy (I assume it was a guy) in the truck began to speed up too. One of those people, I guess, who doesn’t like to be overtaken. I probably should have backed off at that point, since the turn was coming up, but I judged that I could still overtaken in time, which I did, but I did leave it a bit close and he honked his horn at me as I pulled in front of him. Fair enough. I was in the wrong, and maybe the adrenaline was still pumping a little from the previous incident.
The SQL problems a couple of users were reporting are probably not because of they are using an old version of MySQL after all. As I was wondering if there was an easy way to support users on MySQL 4.0.x, I noticed something I should have seen before — I had hardcoded the database table names I added to the SQL query to obtain the post ids to be excluded from the index. Elementary mistake — my bad.
Hopefully the new version should work for those of you who had problems on v0.6 and v0.6.1. If it doesn’t then please let me know which version of MySQL you are using, because users of MySQL 0.4.x will still have problems with the exclude feature.
Oops. I just installed AZIndex 0.6 on my own blog and then when I tried to publish a new post, got a nasty error message that never appeared in all the testing I did in the past few days.
Fortunately it was obvious what the problem was and I quickly fixed the issue, and hence the new version — 0.6.1. Nothing else has changed from v0.6.
Well, it seems that in the latest version of AZIndex I might have inadvertently used a feature of MySQL that was not introduced until MySQL version 4.1. When you use the new “exclude categories/tags” feature, the AZIndex plugin constructs a gnarley SQL query that includes something called a “subquery”, and subqueries did not exist in MySQL 4.0.x.
I actually did check to make sure that subqueries were supported in MySQL 4.x, but I didn’t realize that WordPress officially supports all the way back to MySQL 4.0.x.
So… if you find that adding an excluded category or tag to your index causes a nasty SQL error, it is very likely that your server is running a version of MySQL 4.0.x. Now, MySQL 4.1 was released in October 2004, which is almost four years ago, so I can’t imagine that there are very many web hosts who still use an even older version. If you are in that unfortunate situation, it is worth checking with your web host to see if they offer the option of upgrading to a newer version of MySQL. Usually the upgrade process is virtually automatic. I know that my cheap shared web host provides that option, and I am sure that others do also.
I would rather not have to rewrite the AZIndex code to avoid using subqueries if possible. The SQL logical is complicated enough without having to deal with even more cases, so I need to know if there are enough users still on MySQL 4.0.x without the option to upgrade to see if it is worth the risk of complexifying (that’s a word, right?) the code logic even more.
Please feel free to chime in.
I am please to announce that AZIndex version 0.6 has been released. Along with a number of bug fixes, I have made three major functional improvements to the plugin with this release:
- Support for excluding posts from an index using tags or categories.
- An option to include all the children of the categories you specify in the settings.
- Support for the WP Super Cache plugin for full HTML caching of index pages.
The rest of this post goes into more details about how to use each of these features.
Since the latest release of AZIndex (0.6) incorporates full support of the widely used WP Super Cache plugin, I thought it would be a good idea to explain how caching works with the AZIndex plugin. For most of you, especially if your WordPress blog doesn’t use a caching plugin like WP Super Cache, it may be too much information, but for those who want to get the best performance out of their blog’s index pages, read on.
Sunset over the Kruger
The weather, while we were at the Ngala Game Reserve, was cool and dry but overcast most of the time. That made for some flat light when taking photos of the wildlife which certainly wasn’t ideal. But on all three evening drives, the clouds would break up enough to give us some beautiful sunsets. Sadly, most of my attempts at capturing them on camera were not that great, but this is one of the better ones.