Beginning WordPress 3 is outdated! You should get the new edition instead: WordPress for Web Developers. (It’s the same book, only updated; we changed the title to make its intended audience clearer.)
Q: Beginning WordPress 3 was written for 3.0. Does that mean it’s outdated?
A: The book is not very outdated at all, which is why we haven’t done a new edition. (Update: now it’s pretty outdated, and we’re doing a second edition.) I got lucky, and both 3.1 and 3.2 were relatively minor releases. (You can see the release announcements for more details: 3.1, 3.2.) There were a couple of small changes:
Most of the boxes on the Edit screens (like revisions, discussion, custom fields) are now turned off by default. You can turn any or all of them on again by checking them off in the Screen Options tab.
The Updates menu item has been moved from the Tools section to the Dashboard, so my instructions are a little off. The process of updating WordPress and its plugins is exactly the same, though.
The method of specifying labels and capabilities for custom post types changed in 3.1. If you’re interested in using custom post types, I’d recommend looking at the code examples in the Codex page for the register_post_type()
function. You can download an updated version of my course type plugin, which was the example throughout that chapter.
Also, you no longer need to create page templates for custom post type archives; those archives are built in as of 3.1. You’ll need to include the has_archive
argument in your register_post_type()
function, and set it to true
.
Other than that, very little has changed. Of course, the book doesn’t cover new things like post formats (3.1.), the internal linking feature (3.1), and the distraction-free writing mode (3.2).
Things that changed in between the printing of the book and the 3.0 release
There’s an important change to almost all my instructions. Late in the development process, the WordPress developers changed the wording of the main Posts and Pages screens, along with the navigation labels that get you there. Everywhere the book says to go to Posts → Edit or Pages → Edit, you’ll need to look for Posts → Posts or Pages → Pages instead. Also, the screens that list all the posts and pages are no longer labeled Edit Posts and Edit Pages; they’re just Posts and Pages. I find this a little confusing, but I’m told the change makes things a lot easier for translators.
(I wish that change had been made just a few days sooner. My manuscript was due to go into production on a Monday morning; the change happened late that afternoon. There was no time to update the text throughout the book and change the 70-odd screenshots that were affected. I’m really very sorry that such basic instructions are inaccurate throughout the book, and I promise I’ll update everything if we do a second edition.)
Also, there’s now useful text on the Help screens! Just click the Help tab next to the Screen Options in the top right corner of each screen, and you’ll find information on how to use the page you’re looking at.
Chapter 3: Dashboard and Settings
The Post by Email options, formerly part of the Writing Settings screen, has been disabled in multisite mode. You can turn it back on by creating a one-line plugin.
The section in this chapter on short URLs was written before the_shortlink()
was introduced. That function is covered in Chapter 6, though.
Chapter 5: Importing Content
Most of the importers that used to be built in have been moved into plugins instead. There were a couple of reasons for this, one being that they can now be updated as needed, independent of the WordPress release schedule. You can find all the importers under the wordpressdotorg user’s profile on Extend. You don’t have to download them ahead of time, though. Just choose the one you want from the Importer screen, and you’ll be prompted to install the appropriate plugin.
Chapter 6: Basic Themes
There were some changes to the navigation menu feature after the book went to press. New top-level pages can be added automatically to the menus, if you check the box next to the menu’s name.
There were also some minor changes to the wording of the buttons on the menu management screen.
For enabling navigation menus in themes, add_theme_support('nav-menus')
has been deprecated in favor of register_nav_menus()
.
Chapter 11: Performance and Security
One of the plugins I recommended, WP Tuner, did not work with the final release of 3.0 and still hasn’t been fixed, so don’t install it! It’ll break your site. (Remember, though, that when a plugin whitescreens your site, you can simply delete the plugin directory from wp-content/plugins
and log back in.)
Chapter 12: Custom Content Types, Taxonomies, and Fields
The ‘helps’ argument is now part of the ‘labels’ array, along with ‘name’ and ‘singular_name.’ See the Codex page for the register_post_type()
function for updated information on the various arguments.