So I upgraded to WordPress 1.5 over the weekend. Unfortunately, the “famous 5-minute installation” was, for me, about two orders of magnitude longer. This is not really the fault of WordPress or its crafters: my site is a fairly unusual case. I had pretty heavily modified the templates in WordPress 1.2 by changing the markup, rearranging PHP, that sort of thing, so I had to make sure the upgrade wouldn’t wreck the site. I was also using a number of plugins, many of which I’d written, and I wanted to be sure none of them would get broken.
At first I was planning to modify the WP 1.5 files directly, but then I realized that with the new Themes feature in WordPress, I could convert my markup into a new, separate theme. That took me a while, as I was learning the new structure of WP and figuring out what pieces of my markup needed to go where. Had I never messed around with the original WP markup, I could’ve skipped this step entirely, and saved myself a few hours of work. But then I wouldn’t understand the WP internals as well as I do now.
This thematic conversion was, it is to be expected, a one-time investment. From here on out, I can twiddle with stuff in the theme files, and not touch the WP core. This is a vast improvement over 1.2, and illustrates why themes are a huge win for power users as well as novices. Whether you want to just install and start blogging, or you feel like completely redoing the markup to suit your own twisted ends, WP’s themes will make your life much easier. It will also make it a lot easier to upgrade in the future. I used to fear upgrades because of all the hacking I’d done. Not any more.
Once I’d upgraded the core WP files, it was time to find out what it would take to upgrade my plugins. Basically, very little. I had some magic-quotes routines that had become redundant and needed to be stripped out. That was pretty much all that needed to be done.
However, thanks to new features in WP 1.5, it’s possible to greatly improve the way plugins operate and to very easily extend WP’s feature set entirely from a plugin (once you fix a bug discovered last week). Take WP-Gatekeeper, for example. In WP 1.2, installing Gatekeeper meant installing a plugin file and activating it, adding a file to the wp-admin directory, and modifying two WP core files as well as the comment template(s). Not exactly plug-n-play, which has probably limited its appeal to many WP users.
In WP 1.5, though, it’s possible to add administration pages dynamically—no files have to be edited—and to attach actions to comment form processing. So even at this stage of its overhaul, my development copy of Gatekeeper requires only the installation/activation of a plugin and editing of the comment template. By the time I’m done, it should require only installing and activating the plugin, with no need to edit any files.
All in all, despite the fact that it took so me long to line up all the pieces, I’m really glad to have upgraded to 1.5. I suspect I’ve only scratched the surface of what it has to offer, but what I’ve seen so far has been impressive. The combination of theme organization and plugin power makes this a much more modular, extensible, robust system. In 1.2, I felt like I was bending and rearranging a basic system to meet my specific needs; in 1.5, I feel like I’m working within an environment that has everything I need to do anything I want.
That’s why I’ve changed the site footer, which used to say I was using a copy of WP that I’d “hacked like it was attacking my family”. That’s no longer the case. Sure, I’ve added a number of home-brewed plugins (most of which are freely available) to enhance various things, and yes, I’ve created my own templates. But that stuff is all out of the core files and into separate packages, as it should be, while the core of WP is basically untouched.
Of course, I have a few quibbles here and there, as I do with just about any system I use (I’m a relentless customizer). The Dashboard doesn’t really do a whole lot for me as it stands, and I have some things I’d like to change in both the advanced post-editing interface and the plugin management page. This time around, though, I’m going to offer my changes as contributions to the WP code base, to be accepted or rejected as the developers see fit.
I doff my cap and bow in gratitude toward the WordPress team, and all the members of the WordPress community who have helped it grow and improve. A good tool is now a great tool, and I can only imagine where it will go from here.