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

    Hi Aaron,

    There is only one thing that is holding me back from Tags in 2.3 and thats the tag clouds feature. Apparently 2.3 doesn’t support colored tag clouds like UTW does which i must have.

    So I was just wondering if there is any plugin that does this. If it does then there is nothing holding me back from installing 2.3 on my blog..

  2. says

    So, does that mean if we are using plugins for tagging and canonical redirects that 2.3 will make the use of these plugins redundant?

  3. says

    Aaron – as always, thanks for this!

    I was already intending to wait on the upgrade, mainly because all of my themes are pretty much my own creation. So it’s going to be a little bit of a learning system for me to change them up and have them ready for a proper upgrade. (At least that’s what I’m thinking based on all I’ve read about 2.3)

    There are soooo many things I could list out that I’d like to see – none of which are likely to be on any majority list, but maybe someday I’ll write them all out somewhere. In the meantime, I think the WP devs are doing an amazing job, and never have I ever witnessed any software, open source or not, that had this much constant, consistent, great work put into it.

  4. says

    Thanks for the thoughtful and thorough update. I am particularly pleased to see tags being integrated. I have considered adding a plugin to achieve this but I try to use the fewest plugins possible. Great news. WordPress is becoming better all the time!

  5. says

    I look forward to the update notification feature and the ability to review a post before it is published. These are two great additions to an already wonderful product.

  6. says

    Thanks for the full blown article, it gave a good overview. Its a pity though that you choose to keep the link to WordPress on the footer as a nofollow.

  7. says

    So I was just wondering if there is any plugin that does this. If it does then there is nothing holding me back from installing 2.3 on my blog..

    Karthik, I know I haven’t seen one that does – yet. But I’m fairly certain someone will develop one that does just that relatively soon. Keep an eye out on WLTC, since I’ll be compiling lists of tagging plugins for 2.3 as I come across them.

  8. says

    It is also important to note that the new canonical redirection engine also fixes the problem of trailing slashes. For example, this URL without the trailing slash (http://technosailor.com/10-things-you-need-to-know-about-wordpress-23) will now redirect to the proper URL (http://technosailor.com/10-things-you-need-to-know-about-wordpress-23/) in WordPress 2.3. This also helps to eliminate search engine cruft.

    I’ve heard that redirects will occur for post abbreviations as well (i.e. /10-things-youneed-to-know-about-wordpress) to the proper URL (/10-things-you-need-to-know-about-wordpress-23/).

  9. says

    nothing about security … ???
    that puts me off a bit …
    since my blog can be hacked into very easily …
    but i will make sure i upgrade …
    thanks for sharing this …
    appreciated …

  10. says

    very nice list. i took the jump to run my entire real estate website on wordpress. while i look forward to new functionality, im shaking in my boots thinking about upgrading to 2.3. i will definitely head the advice and hang for a couple of weeks before attempting an upgrade. especially as i have been bulking up on the plugins.

    one thing that definitely is nice is the canonical redirection. instant SEO sounds good to me :)

  11. says

    Good to know.

    I fear the day where WordPress becomes hard to use. I believe that too many additions to the CMS will ultimately be detrimental. That’s definitely not the case, I just hope it never is.

  12. says

    “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 don’t recall 2.2 ever being supposed to be 2.3, although tagging was supposed to be in 2.2.
    2.2 was always planned and always planned to come before 2.3 ;-)

    “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.”

    Maybe, I’m misunderstanding
    Import > Selectively convert categories to tags
    Changes those categories to tags on any posts that have those tags.

  13. says

    Very nice roundup of 2.3 features, Aaron.

    @Lloyd: I believe he means that even though the categories that were imported to tags are now tags, the posts that were associated with those categories aren’t automatically re-linked to the newly imported tags. Or something to that effect.

    I’m not sure of this behavior, however, but I don’t recall anything in the cat2tag importer that deals with that.

  14. says

    This saddens me, really saddens me.

    I’ve watch WordPress from the start and noticed there is a lack of understand of how to develop secure software in accordance with any SDLC process. We have seen a large amount of basic vulnerabilities being discovered in both the 1.x and 2.x branches and yet still the developers of WordPress are not taking security seriously.

    WHY?

    Why is there no process to adopt a SDLC approach and add security to this framework? Why are we constantly seeing OWASP Top 10 style vulnerabilities in all the latest releases.

    I understand features rule the day, but you now have a large user-base and that user-base needs a secure platform to use, not like the current state of code that the 2.x branch has.

    Come on people, WAKE UP. It is 2007 and Security and Development now go hand in hand. Security is not a bolt-on at the end of the project dammit

    Daniel
    OWASP

  15. says

    Great additions to WordPress. I’m looking forward to ditch some old plugins for some incorporated functions WP 2.3 now has. I also needed to change my theme but I decided to wait until the final release.

  16. says

    Great article Aaron. Been wondering what all they hype was about. I do think that the tagging system needs a little work and that the tags directories should be robots.txt excluded to keep authority.

  17. says

    subcorpus, actually the “$wpdb->prepare()” feature is a foundation for dramatically improved security. We may only start seeing the benefits in 2.4 but it’s there.

    Personally I like the look of the update notifications and canonical
    redirection. Anything that reduces the boring, maintenance side of things is more than welcome!

  18. says

    Do you think upgrading to 2.3 will cause conflicts with plugins or themes?

    The plugins most likely to break on the upgrade to 2.3 are ones that influence categories, since categories are being moved into the new taxonomy with tags. Themes will need to be upgraded to include the new tag display functions but should otherwise continue to work fine.

  19. says

    Just a question about categories vs. tags: Are we losing the categories function altogether in place of tags? Or will tags operate alongside of the categories? I’m a little confused about this.

  20. says

    When you have to say things like “There are not a tremendous amount of new template tags dealing with tagging…” you should understand that WordPress has a nomenclature problem. When I first started using WP about a year ago I was quite confused about template tags. Then I had an epiphany: They’re calling functions tags! But then, I might be still confused.

  21. says

    I love the WP community. Thanks, Robin!

    Knox: Yes, manual canonical redirection and the use of UTW specifically will cause problems.

    Lara: Make your voice heard on features: http://www.wordpress.org/extend. Most of 2.3′s new features are directly from this list!

    Lloyd: Doh! Yeah thats right. I remember that convo. Glad that the Google Blog Search switch was made. Technorati is so 2004. ;-)

    And what I meant was that I have been using trunk since 2.2, even when there was parallel development happening for 2.2 and 2.3 because of the removal of the original tags iteration.

    Daniel: Good idea. Put yourself to work and sling some code. http://trac.wordpress.org

    Carson: Template tags and WordPress tags are not the same thing. I think you had this epiphany already but in case you hadn’t put it all together yet. :)

  22. says

    @robin: “I believe he means that even though the categories that were imported to tags are now tags, the posts that were associated with those categories aren’t automatically re-linked to the newly imported tags.”

    As I tried to suggest, it does exactly that, those posts now have those tags, otherwise what does it mean to change the categories to tags.

  23. says

    @lloyd: I meant exactly what I said :)

    Granted it was confusing. Let me clarify.

    On THIS blog that is running trunk, posts have the categories associated with them still, WP Cats have been imported as tags (making a parallel system) and as far as I can tell, posts do not have the categories that pre-existed as tags currently.

    That could be a legacy matter because I’ve organically been on 2.3 and things have changed during the dev process. I dunno. What I do know is that my posts are not tagged unless I’ve specifcally tagged them. It’s not a big deal for me, though certainly if I’m demonstrating unintended behavior, then who knows what other unintended behavior I may be demonstrating.

  24. says

    there used to be talk of replacing scriptaculous with mootools on the backend of wordpress. did this happen already? if not, will it happen for 2.3? 2.4?

  25. says

    @hubs: jQuery replaced Prototype/Scriptaculous in WP 2.3. Complete cutover is still ongoing. Prototype will continue to be bundled for the benefit of plugin authors.

  26. Les says

    Never used WP because have you actually taken a look at the source? I am a developer, and am shocked at the way WP is broken on a number of software design issues, such as layering for example.

    If you are a user with a non technical background, I can understand why you use WP – because it works and it’s free but for that isn’t enough. Just because something works and that it’s free doesn’t mean that it’s a good thing.

    If there was to be one example of how not to develop a web application, WP would be it. Anyways, now that I’ve had my rant, I must say otherwise I like your blog and please continue to blog about WP…

    Who knows? One day, WP may well achieve the status of a well designed and well developed application, maybe ;)

  27. says

    I hope the new tag system doesn’t break the current system I’m using with the Simple Tagging plugin and tag cloud. I have a bad feeling it will, though.

  28. says

    A fantastic writeup, Aaron. Thank you very much. I am using 2.3RC1 right now (updating about every other day), but haven’t a clue how to use the Pluggable Dashboard. I can find no options to control what I see on the Dashboard. Perhaps if I really studied index.php within wp-admin I could get some clues, but can you point me to a resource that will help me modify what I see (I’d like to have my Techonati links back, e.g., as well as the Google searches as you mentioned).

    Thanks again.

  29. says

    Gotcha Aaron. I can’t duplicate that behavior on new install or upgrade from 2.2, and I sure hope no one else can ;-)

    Like you, one of my blogs has many articles from trunk living ;-)

  30. says

    Hm i read your information for update into new version is really interested.

    right now i’m using wordpress 2.2.1

    soon after wordpress release 2.3 full version i’ll upgrade my wordpress too.

    Thx,

  31. says

    I am one of the multiple authors of a blog and knowing that there is some editorial assistance feature that will be included in WP 2.3 is really exciting. It has been quite a tedious task for the editorial group to manage posts/articles from different contributors especially when we also encourage new ones. I am really looking forward to this one. Thanks for that!

  32. says

    Aaron,

    Your response is a little worrying. Firstly, it seems there is no approach that any of the WP developers take to build security in from the beginning. So your response is to “sling some code”, how?

    Are the WP developers willing to look at implementing a SDLC approach for the any future releases?
    How about ensuring that OWASP Top 10 vulnerabilities are preventing in all new releases?

    Too often us security researchers are met by no contact from anyone regarding the issues we find.

    “I contacted the vendor and asked them if these issues had been fixed
    silently since I couldn’t find them documented anywhere (even though
    they had been fixed from version 2.0.4 on). However, I got NO response
    from the vendor whatsoever.”

    Why?

    it’s about time the developers for WP started to take security more seriously.