Is your plugin Naughty or Nice?
WordPress 2.1 is almost here and you know what that means for developers. It’s time to pull out those old plugins you’ve had stashed, blow off the dust and start applying some spit and polish and make sure it will last longer than Grandma’s Ham and Bean soup that has been sitting in the refrigerator for weeks.
Many of the big changes in WordPress 2.1 are MySQL related so grab a pen and paper (or open Notepad) and start taking notes.
$table*variables have all been eliminated. They have not been deprecated as doing so would mean that the variables are still present but developers are no longer encouraged to use them. In this case, they have been removed from the core. When you’re developing plugins that contain SQL statements, ensure you globalize
$wpdb, and call tables using
$wpdb->post2cat, etc. Likewise, the former
$table_prefixvariable that developers could globalize before to find the MySQL table prefix defined in
wp-config.phphas also been deprecated in favor of
- Developers using the former linkcategories table should be aware that link categories are now part of categories. They are simply given another category ID and are not maintained separate from post categories.
- The posts table now has a column of
post_typethat should help developers distinguish between posts and pages.
- Future posts now gain the
post_statusof ‘future’ which eliminates the use of
NOW()in all queries in the core. Plugin developers should follow suit.
WordPress 2.1 is nearing the time when the codebase will be released for testing, but it’s not too early to get those plugins and themes tweaked for the release. There is a Codex page where plugin compatibility is being tracked as well.
Editor’s note: If you stick to the WP APIs as much as possible you won’t run into plugin upgrade issues like this.