10 Things You Need to Know About WordPress 2.3

This article will take approx 6 minutes to read.

We have a tradition around these parts of publishing information for the WordPress community surrounding a new major release of WordPress. With WordPress 2.3 to be released on September 24, 2007, I think it’s appropriate to follow the tradition and let you know about the ten things I think you should know about WordPress 2.3. There’s a lot under the hood that I can’t cover in this article, so particularly if you’re a developer, you should go look at the code and figure out what new hooks and functionality you can find.

Tags

Yes, tags have arrived. They have been a long time in coming and, in my humble opinion, are not perfect – but they are good. Tagging in WordPress is ad hoc and the UI presented demonstrates that. In fact there is very little UI, just a form field below the write screen area that takes a comma separated list. The methodology does reinforce the concept that tags are not hierarchal.

Observant users may notice that there is no way to edit those tags, manage a list of tags, or delete tags. I will point out that, there are already plugins that add management tools to WordPress for tagging and the development team has purposefully taken a “wait and see” approach to tags in this release. It does not make a lot of sense to add tons of UI that is later discovered to be superfluous or rarely used. Instead, they have opted to wait and see what plugins become popular with an open mind about possible integration in future releases.

Added: I was also notified about another plugin for managing tags called ClickTags. I have no first hand experience with either of these so anyone who can provide further input, I’d love to hear it.

Let me share some of the in-built changes that tags bring to the table.

  1. Terms Table – For developers, there is a new table called wp_terms. This table is a lookup table of sorts that shares terms between categories, tags and bookmarks. In previous releases, the wp_categories table was shared between categories and bookmarks and this table was the crux of the new development approach that was taken after tags were dropped for WordPress 2.2 and rebuilt from the ground up for WordPress 2.3.
  2. New Tag and Terms API – Plugin developers will appreciate new API that inevitably comes with a new feature this large. Take a look at the new
    1
    wp-includes/taxonomy.php

    for lots of new API functionality. Note that the new API probably effects more than tags, but I don’t know for sure. It probably interacts with category and links/bookmarks/blogroll API as well. If your plugins interact with this API, make sure your plugins still function as expected.

  3. New Template Tags – There are not a tremendous amount of new template tags dealing with tagging, however theme designers should be aware of them and adjust themes as necessary. Bloggers, feel free to hack your themes to use these functions, however, you may want to wait and see if your theme gets an update for WordPress 2.3 before you upgrade. There may not be a lot of documentation at first, so be sure to refer to
    1
    wp-includes/category-template.php

    to see what arguments can be passed to these tags (though all should work without any arguments whatsoever):

    • 1
      wp_tag_cloud()
    • 1
      get_tag_link()
    • 1
      get_the_tags()
    • 1
      get_the_tags_list()
  4. Tag Importers
    • Ultimate Tag Warrior
    • Jerome’s Keywords
    • Simple Tags
    • Bunny’s Technorati Tags
    • WordPress categories

I have been running WordPress 2.3 on this blog since pre-2.2 when 2.3 was supposed to be 2.2 and was branched to nuke the original tag concept and still hit the release milestone dates. I will tell you from first hand experience that importing WordPress categories does not associate those tags with entries that previously had the identical category. I think that will be a common question so I’d like to answer that here.

Feel free to gripe or complain or praise and adore the new tags functionality. If your voice is not heard then WP devs will be left to assuming what the community wants. As this is a community resource, I do invite you to express your opinions on the tagging feature here. Please keep it respectful though as the people doing this stuff by and large are volunteers devoting their time and energy to make WordPress better for everyone. If you behave respectfully, chances are your voice will be heard and not ignored.

Update Notifications


Update notifications have been a long requested feature of WordPress and thankfully in this release, it’s been delivered – not once, but twice. Now WordPress can alert you when a new version of WordPress is available as well as new plugin versions. I find the plugin update, particularly, very HAWT.

Canonical Redirection

This has long been a bane of every webmasters existence. Canonical URLs are treated differently by Google and the search engines meaning the www. version of a site is considered to be a different page than the non-www version. Search engines see two different pages and penalize one as duplicate content.

To fix this, many webmasters and bloggers, including myself, have taken steps to redirect one version to another. In my case, I redirect www versions of my URLs to non-www versions. Now, WordPress handles this internally based on the value you set as your website site URL under the Options > General page. In essence, this means instant SEO benefits to WordPress 2.3 users.

Post Workflow Improvements

Two more often requested features is better draft management functionality as well as a better editorial workflow for non-Editor, non-Administrator writers. While the second is amazingly better, the first is a step in the right direction but still not “great”.

Draft Management is improved by adding a series of dropdown menus on top of the blog’s Manage page. From this list, you can quickly select posts that are in draft status. This does not do away with links to draft posts that has traditionally been located at the top, but this too has received some TLC. If you’re a blogger that keeps lots of posts in draft for a rainy day, or simply start posts and save them to draft to work on later, you’ll be familiar with “Draft Hell” where multiple levels of links can crowd the top of the page and become unwieldly. Some smart massaging happens to this list now and displays two drafts and adds an “and more…” link to the end leading the blogger to a page listing draft posts. Aesthetically this is great, however I still think the management of drafts can be a bit unwieldly and ugly.

The second bit that pertains to workflow management has to do with “pending review” posts. These are great for multi-author blogs where “Author” level bloggers do not have the rights to publish an entry without a review. Unfortunately, in previous iterations of WordPress, an Administrator or Editor had to pay close attention to when blogs were ready for review but now, they are notified. This is an excellent editorial workflow item that is long overdue.

Pluggable Dashboard

If you’re pretty tired of getting all the stock WordPress and Technorati links on your WordPress dashboard and want to make it more useful for you, the dev team has made the WordPress dashboard customizable via several new plugin hooks.

We’ve been using this at b5media already to provide bloggers with feeds that are more relevant to them as well as replacing Technorati results with Google Blog Search results under Incoming Links. So far, no complaints!

$wpdb->prepare()

A feature that will only make hardcore developers giddy, there is a not-yet-used-yet-still-functionally-solid method added to the database class. the

1
prepare()

method is a handy little method that can be used to nuke SQL injection hacks before they become an issue by creating safe SQL code. Like I said, it’s not in use yet in WordPress because the devs ran out of time prior to release of WordPress 2.3. The feature is officially slated for WordPress 2.4 but I thought I’d point it out as the code is in place (and subject to possible modification in advance of its official support in WordPres 2.4.

Atomlib

Atomlib is a relatively late addition to the WordPress 2.3 codebase. It was created by none other than the great Sam Ruby who was influential in creating the Atom feed specification and the Atom Publishing Protocol. Atomlib provides a support library to the Atom products supported by WordPress – the Atom Publishing Protocol and the Atom 1.0 feed. As it is a self contained library, the potential for its application in other ways is there if a developer wanted to sling some code to create new functionality or plugins.

Deprecated Functions

Not a significant issue as I have not seen the two functions that have been deprecated in widespread use in the community. Yet, as a new release comes along and deprecates some functionality, I feel it necessary to point them out. In the case of WordPress 2.3, only two functions have been deprecated – and they both relate to permalinks. The first one, template tag

1
permalink_link()

has been deprecated in favor of

1
the_permalink()

. I believe most usage examples as well as most theme designers already use

1
the_permalink()

so I doubt this will have much effect. Additionally,

1
permalink_single_rss()

has been deprecated in favor of

1
the_permalink_rss()

.

As usual with deprecation, the functions still work and are available. However, it is advised that the new format be used as deprecated functions will eventually be removed from the core.

Multiple Category Widgets

With the advent of tags and terms, the possibility has been introduced to have different “groups” of categories organized in different ways. To that end, the Categories widget has been expanded to allow multiple category widgets. Though these widgets are not overly useful, someone may be able to find some uses for multiple category widgets.

Pluggable RSS Library

A common complaint in the WordPress development community has surrounded the inclusion and forced use of Magpie as an RSS parsing library. We at b5media, for instance, find a much better and supported library (Magpie stopped being developed awhile ago) in SimplePie. There may be other RSS parsing libraries available. The point is, WordPress is all about being extensible and offering the user choice.

To that end, there is a new plugin hook called

1
load_feed_engine

which allows plugin authors to load a different feed parsing engine if they so choose. I find this very interesting and useful. Others will not, but again, it’s about choice.

WordPress 2.3 brings us a lot of good things. It’s certainly not perfect. I’d personally recommend that everyone wait before rushing right out and upgrading. There may be breakage so make sure you back stuff up. With a new version, it’s usually wise to wait a few weeks and let plgin authors catch up and update their plugins. Of course, the fewer plugins you use, the better off you’ll be – but that’s a matter of choice. Overall, this is a very solid release in my opinion.

Also, I’d love it if you Dugg this article if you find it useful.

Comments

  1. says

    Thanks for the great preview/write-up. I am glad that some kind of tagging support will be native in WP as I am tired of using plugins that only get me 90% of the way. Thanks again.

  2. says

    I wonder if handling a large number of pages will be more easily handled in 2.3. I run a site that I tried to use WP as a true CMS, and it balked with the number of pages I was adding. I ended up moving the “pages” to a wiki.

  3. says

    There were comments made on Digg that your site when down for a bit when it was getting a lot of traffic. From this page’s source code, I see that you are using the WP-Cache plugin. But were you using it when the site when down? Could you maybe comment on any actions you took to increase the performance of your site to counteract the load caused by the Digg crowds.

  4. dionysus says

    Daniel, are the “security researchers” you use as an example at all familiar with the axioms of open source development?

    There is no vendor to contact. It almost sounds like you are bitching about a general situation in the security field and not wordpress at all.

    If you see a problem that you know how to fix, chances are the other people don’t, and you and any other “researchers” should become developers, and do the development yourselves.

    The community will not hate you for it, quite to the contrary, they will likely praise you.

  5. says

    Dionysus yes, if you actually have a look at the Open Web Application Security Project (OWASP) it’s a open collaboration for web application security. Secondly i’m well aware about Open Source projects and their lack of direction when it comes to any standards.

    It seems like your argument is that Open Source projects are hard to control, therefore security and basic security development doesn’t apply because there is “no vendor”.

    Your other argument is that us researchers should fix the problem ourselves. Now we can, but the issue is that it would be applying a band-aid approach. Education of the developers to create secure software at the start would mean the community would praise them, as their blogs would be more secure out of the box.

    Please don’t use the “axioms of open source” argument as the excuse for lack of security. If the linux kernel and numerous other open source projects can embrace SDLC, then why not WordPress?

  6. says

    Thanks for the roundup – now I can make an informed decision on what sites to update to 2.3 and which to wait on. I should mention that the Google Sitemaps WP plugin breaks on 2.3 in you don’t upgrade and get the lastest version.

  7. says

    @Christophe: WP-Cache was misconfigured and not working properly – thus affecting the sites availability during the Digg. After we got it configged right and working properly, everything hummed along nicely.

  8. says

    I don’t think WordPress 2.3 import any tag from other tag plugin. I used UTW, after installed 2.3 then apply the new template method(for tag). Nothing show? no tag that imported.

  9. says

    I am very happy with wp2.3. But I face some problems, I can`t add any new categories. It doesn`t work. Even in wp-forum, there`s no solution. Can you help??

  10. says

    Since the upgrade to 2.3, I have not been able to digg any of my articles. I try but digg tells me, “This link does not appear to be a working link.” But it is not. Any idea? You help is kindly appreciated.

    Kyle

  11. says

    That is some great information on WordPress, something we all need. I find that the All-In-One SEO Plugin is awesome as well as some of the plugins you mentioned. I’m interested in learning different CMS’s like Drupal, Joomla, etc. WordPress is easy to use, and there are tons of templates available… which is why it’s my CMS of choice.

  12. says

    Great Article and the bit about canonical domains was interesting. I must admit i used joomla and wordpress and the flexibility that wordpress has and ease of use for clients has made me pick nothing else for my blog and CMS websites since.

  13. says

    Something missing though is a Tag administration panel. If, now, WordPress is going to take care of Tags instead of doing it through plugins, it should definitely have a panel to administer them.

  14. Shauna says

    Hi,
    I was just wondering does any one know how to give non-members a password for your blog so that they can read it. I need to give a few of my lecturers a password to my project blog.

    Thanks in advance,
    Shauna

  15. says

    I was happy with WordPress 2.3, and I’m still getting used to this new version. I’m still having some issues with plugins that I want to use, but for the most part it’s good. It took me a minute to get used to the different admin layout.