English Mike on July 15, 2008 at 12:31 pm
Nice timing! Just as I am about to go on vacation and don’t have much time (and only a very slow computer) they go and release a major new version of WordPress! Ah well, I have managed to perform a quick test with both of my plugins on the new version and I am happy to say that:
- AZIndex seems to be working fine, and
- TinyMCE Entities Patch is obsolete
Yes, it’s actually good news that my TinyMCE Entities Patch plugin is no longer necessary — WordPress has fixed the bug my plugin was designed to fix. I may get the chance to update the plugin tomorrow so that those who installed it so they could keep the spaces around will still be able to use it, but I can’t promise anything at this point.
UPDATE: Well, I spoke too soon yesterday — there was a problem that many other plugins also seem to have stumbled over thanks to a change in the get_option WordPress function (naughty WordPress!). I have updated AZIndex to v0.5.4 with a workaround for the problem on WP 2.6. The plugin should continue to work with WP 2.5 and WP 2.5.1, and with WP 2.6 even if they revert the behaviour of get_option back to the way it was in 2.5.1.
English Mike on July 7, 2008 at 5:25 pm

Have you ever slaved over the formatting of particularly tricky blog post then forgotten how you did it? Ever gone back and edited an old post to hunt down the fiddly HTML you wrote so you can use it again in a new post? Well, I have, and I just found out something that makes the whole process easier and quicker.
Continue reading “WordPress Quick Tips #4:
Formatting Your Posts the Easy Way” »
English Mike on July 7, 2008 at 4:18 pm

Are you thinking of using a plugin that uses shortcodes? (Shortcodes are tags in square brackets like [az-index id="1"] that some plugins use to embed content into posts and pages.) Do you want to be able to use a shortcode in your blog’s sidebar instead of your post or page?
Well, if the answer to both those questions is “Yes” then you have come to the right place!
Continue reading “WordPress Quick Tips #3:
Adding a Shortcode to a Sidebar Widget” »
English Mike on July 7, 2008 at 1:26 am
I have just added the beginnings of an AZIndex User Guide to the blog. The first installment is mostly a “Getting Started” guide for those who are just starting to use the plugin, but I hope to add full documentation for the plugin and all its many settings by the time it’s complete. Unfortunately, since there are a lot of things to talk about with AZIndex, that is going to take some time — probably a few months — but I will continue to add new sections as I write them.
Feel free to comment on the AZIndex User Guide if you spot a mistake or if you find it too confusing in places.
English Mike on July 3, 2008 at 10:37 pm
Phew!! The latest and greatest version of AZIndex is now available. As I mentioned in a previous post, the main enhancement this time is caching. Large indexes will load much, much faster in this version when they are being cached. Adding or modifying posts will cause AZIndex to check to see if the index has been changed as a result, but it will only invalidate the cache if a post should be added to, deleted from, or must change position in the index. Kind of cool, really.
Anyway there was a little hiccup getting 0.5 out into the WordPress repository, which might have caused one of two people to download a bad version. But I’ve sorted out the problem, so it’s safe to upgrade to 0.5.1 when you’re ready.
(Update: Changed to version 0.5.1 after I fixed a minor bug — that produced a scary but inconsequential error message when creating a new index.)
English Mike on July 3, 2008 at 5:44 pm

This tip similar to Tip #1 in that it will help you add HTML styling to parts of your blog that the usual HTML styling doesn’t reach! Last time it was post headings, this time we’re targeting your blog’s tagline.
While it’s perfectly possible to style your blog’s tagline using a CSS stylesheet, that method only allows you to modify the styling of the whole tagline. If you want embolden one word, or italicize one phrase, then you’re out of luck. If you try adding <strong> or <em> tags, they just appear in the tagline. So, what to do?
Well, the solution is a little bit more involved than last time, which is why I’ve designated this article for tweakers as opposed to regular bloggers, but in most cases it only requires a one line change to your theme’s header file to do it.
So, if you’re ready, let’s go…
Continue reading “WordPress Quick Tips #2:
Embedding HTML in Blog Taglines” »
English Mike on July 1, 2008 at 3:21 pm
Just a quick update for those who are following developments for my AZIndex plugin (is there anybody out there… there… there… ?).
Anyway, it looks like I have a viable caching solution almost completed, and the speed improvements are quite gratifying. I have created several test indexes containing over 1100 items and the index pages load anywhere from 4x to 50x faster when they are being cached, depending on the options set for the index.
Obviously indexes with multiple pages see the biggest gains because if you put 1000 items on one index page, the plugin still has to loaded all 1000 items from the database even though they don’t have to be sorted. Even so, a 4x speed improvement is nothing to sniff at. But if you have a large number of items in the index, it’s only natural to have them spread over multiple pages, so in most cases you will see at least a 10x improvement over a non-cached index.
I have added an option to disable caching, but I recommend against using it unless you think you might be having problems with caching, and you can reset the cache from the admin page if necessary.
How does AZIndex know when the cache is out of date? Well, it attaches to the WordPress action hooks which fire when someone saves or publishes a post. Each index maintains a dirty list of posts and pages that have changed since the cache was last rebuilt, and when the index is next display, it checks though its dirty laundry (if you will) to see if the ordering of the items has been affected by the changes, or if a post needs to be removed from or added to the index. If it does find the index needs to be updated, then it will rebuild the cache causing a one-time slower load for one very slightly unlucky user.
Hooking changes to custom fields turned out to be a pain, since there are no definitive hooks for them, and you can change them without having to save the post afterwards. In the end I attach to the Ajax hooks which fire when a user is editing a custom field. That will probably work for 99% of all custom field changes, but if a blog uses another plugin to change custom fields using the function calls, then there is little AZIndex can do to detected those changes. But in the worst case, all the blogger has to do is manually clear the cache once all the changes have been made.
So, be on the lookout for AZIndex v0.5 with full caching support sometime this week, just in time for the holiday weekend.
English Mike on June 27, 2008 at 3:39 am
I will be updating the AZIndex plugin to version 0.4 within a couple of days after I have done a bit more testing. It contains just about all the new features I plan to add (except for caching) before I declare the beta phase over. The new features include:
- An option to use CSS style striping to decorate your index entries (e.g. add a gray background to alternate entries).
- An option to use your own customized sort to sort an index.
- An option to customize which alphabetical links appear with your index.
- An option to place index entries that do not begin with a character or number at the end of the index instead of the beginning.
- An option to ignore punctuation like quotes or double-quotes while sorting the index (useful if some of your post titles are in quotation marks, for example.
- Safe upgrades to new versions without having to uninstall and recreate your indexes.
I think that’s more than enough functionality for the first major release of this plugin. Thanks to everyone who has given me feedback, reported bugs, or suggested enhancements. This plugin is already much the better for your help, even though it’s not quite finished yet.
I hope to have the caching done before I go on my summer vacation, but it could be tricky to do, so I can’t promise anything. However, from playing with the plugin myself, and from feedback I have received from a couple of users, if you are holding off installing AZIndex because of my dire warnings about performance, it seems that I might have been a little too cautious. If your index contains fewer than, say, a couple of hundred entries, and is not going to be accessed by thousands of users an hour, then I think you’ll find that it’s ok to install without the caching.
So keep your eyes peeled for an update to AZIndex. It should be coming your way before the weekend is over.
English Mike on June 4, 2008 at 3:59 pm

Did you know that you can embed HTML tags in the titles of your posts? I didn’t until I wanted to create a two-line title the other day. But now, after my “D’oh” moment, I suspect I might be making frequent use of this little feature.
For example, the title of this post has two lines and italic text. The HTML I used is as follows:
WordPress Quick Tips #1:<br/><em>Embedding HTML in Post Titles</em>
Just remember that your permalink (the URL of your post) may look a bit screwy if you don’t edit out the HTML. This is what WordPress did to the permalink of this post:
wordpress-quick-tips-1bremembedding-html-in-post-titlesem
The HTML brackets are removed but the tags themselves remain, mangling the text. So don’t forget to tidy up your permalinks before publishing your HTML-enhanced titles.
English Mike on June 3, 2008 at 7:54 pm
If my enthusiasm for blogging has legs (and it’s still early days yet), then I will be posting a good number of articles on WordPress over the next few weeks and months. Hopefully they will cover a wide range of subjects from ways to make WordPress blogging easier all the way to hardcore plugin development discussions.
Obviously, not all posts will be of interest to all types of WordPress user, so I thought it would be fun to come up with a cool way to let people know if a particular post is for them. And so, in the wee hours of last night I came up with four classifications for WordPress users:
Bloggers — no big secret here, users who are active bloggers. That’s probably most of you, but there’s got to be at least a couple of WordPress plugin developers who haven’t got their own blogs… right?
Tweakers — bloggers who feel the urge to tweak their blog’s appearance and functionality until it’s “just right”… except that it never is. Come on, admit it. You know exactly what I mean!
Themers — theme developers. The people who deserve your undying gratitude and respect for making your blog look so wonderful.
Pluggers — plugin developers. Those who have delved into the inner workings of WordPress, PHP, and MySQL in their quest for bringing you all the latest and greatest blogging features.
Now, there is obviously a great deal of overlap between the four classifications — I am a blogger, a tweaker, and a plugger, for example. So just because you might consider yourself a hardcore plugin developer, that doesn’t mean you won’t find something of value (I hope) in a post aimed at tweakers.
Oh, and feel free to shamelessly steal the classifications and the icons for yourself (if you don’t think they’re just ridiculous, of course). An acknowledgment and perhaps a link back to this post is all that’s necessary.