Archives

Support this Site!

You may have noticed that there's very little third-party advertising on this site. I'd like to keep it that way. Here's how you can help:

  • Buy my books. They're available at great prices on Amazon.com.
  • Check out my training videos on Lynda.com. It's a great source for "all you can eat" training.
  • Donate a few dollars. It'll help cover my hosting costs and give you a chance to tell me what you want to see covered here.
  • Comment on blog posts. You can help get a discussion going that can benefit others, making the site more valuable for everyone.

Upgrading WordPress to 2.1: Dealing with Plugin Compatibility

One of the first steps to upgrading.

WordPress 2.1 is out and its a major upgrade to what I believe is the best blogging platform. But your decision to upgrade should be based, in part, on whether you can make good use of the new features. (You can learn more about what’s new on the WordPress.org Web site.) But that’s not all that should be considered when making the upgrade decision. What might be more important is the amount of work your blog may need to complete the upgrade.

Before I launch into my discussion of plugin compatibility as it applies to the upgrade, let me make a clear distinction between the two groups of WordPress users. If you’re using WordPress with a WordPress.com account, you don’t need to worry about upgrading the software. The folks who manage WordPress.com will do it for you and you’ll see the new features online. But if you’re running WordPress on your own server or on a hosted server, you have a bit of work ahead of you to complete the upgrade. This article is for you.

Why Care?

I operate six WordPress-based blogs on a hosted server account. Most of them are “mission-critical,” meaning they could cause loss of business if they were to become unavailable. So I can’t take a major upgrade lightly. That’s why I’m thinking through the upgrade for each site, one at a time, before actually moving forward.

(I do want to mention that if you follow the instructions on the Upgrade page, if the upgrade goes bad, you can always go back to the site the way it was before the upgrade. That’s why its vital to follow the upgrade instructions.)

Types of Plugins

Some of my sites make extensive use of plugins. The way I see it, there are four types of plugins, each of which I’ve given an unofficial label:

  • Simple plugins don’t require any template file modifications and don’t make changes to the way you work with your blog. You just install the plugin, activate it, and it works. Examples of simple plugins include Hello Dolly and No Self Pings.
  • Set-It-and-Forget-It plugins are one step above simple plugins. They don’t require any template changes and don’t make changes to the way you work with your blog, but they do offer an administration panel for setting options. Examples include Bad Behavior, Spam Karma, Random Header, and WP-Cron (with WordPress Database Backup).
  • Entry Utility plugins are plugins that change the way your create entries or display them online. These plugins don’t require you to modify your template file(s), but they may change the way you compose blog entries by offering additional options or change the way entries appear online. Some examples include Adhesive, Simple Tags, and WP-Contact Form.
  • WordPress Feature Extension plugins are those that require modification of your blog’s template files to add plugin-specific tags. In many cases, these tags add impressive new features to the site that go far beyond WordPress’s feature set. Some examples include Customizable Post Listings, Landing Sites, and WP-Print, just to name a few. This is by far the biggest group of plugin types and, as you’ll see in a moment, it’s the group that’s most likely to cause problems in the event of an incompatibility.

The upgrade instructions recommend that you disable all plugins before completing the upgrade. With the first three types of plugins, that should be no problem. But with plugins that require modification of your theme files to accommodate plugin-specific tags, turning off the related plugin could result in PHP errors or other problems when the page is loaded. If you don’t turn off the plugin and upgrade and the plugin is not compatible with WordPress, you could wind up with PHP errors, too.

Which Plugins are Compatible?

My advice is to make a full assessment of your plugin situation before beginning the upgrade. Here’s how:

  1. Go to your Plugins Management page (/wp-admin/plugins.php from your blog’s main directory; click the Plugins button in the Dashboard or any other administration panel) and make a list all plugins that are installed and activated, as well as any that are installed and disabled but might be activated in the future.
  2. Compare the plugins on the list to the WordPress 2.1 Plugin Compatibility page.
  3. Check off all plugins on your list that are known to be compatible. These are the ones you won’t have to worry much about.
  4. Circle all plugins on your list that are known to be incompatible. These are the ones that will need to be permanently disabled. If they are WordPress feature extension plugins (as defined above), you’ll have to find and remove related tags that you may have inserted in your template files.
  5. Put a star beside all plugins on your list that are either not listed on the Compatibility page or are lists with unknown compatibility. These are the ones you’ll have to watch.

Proceed with Caution

There are two ways to insert plugin-specific code in your WordPress blog:

  • With If-Then logic uses PHP IF statements to determine whether a plugin’s function exists — in other words, if the plugin is enabled and its code is accessible by WordPress — and, if it does, allows WordPress to access the code. Here’s an example I use in my sidebar with Readers Post:

    <?php if (function_exists('last_posts')): ?>
    <?php last_posts(8); ?>
    <?php endif; ?>
  • Without If-Then logic simply inserts the code without any test to see if the function called is available. For example:
    <?php last_posts(8); ?>

You should be able to see which one is safer — the first one. If your template files include plugin-specific code with if-then logic, when you disable your plugins, your blog pages will continue to display without the plugin-specific content or PHP errors.

My advice, therefore, is to go through all your template files and modify plugin-specific code to include if-then logic as illustrated above. This will make it far easier to disable all plugins before the upgrade and turn them back on, one at a time, when the upgrade is finished — as recommended in the Upgrade instructions document.

A Final Word of Advice

While the new features of WordPress 2.1 sound great and you may feel as if you just “can’t wait” to upgrade, don’t just dive in. Think things through. If you have multiple WordPress blogs, perform the upgrade on the blog that’s the simplest, with the least template modifications, and the least “importance.” Follow the upgrade instructions carefully. And be prepared to restore to your current version of WordPress if you need to.

More upgrade tips to come. Keep checking in.

23 comments to Upgrading WordPress to 2.1: Dealing with Plugin Compatibility

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>