I don’t want to tip my hand too soon, but there’s a few things about WordPress that I find myself writing code for that, really, I shouldn’t have to write code for. Especially since the foundations of making things “just work” are all already in WP, and in most cases, have been around for quite awhile!

I guess one of my biggest peeves is categories and tags. Pages and Posts are stored in the same table with the same fields, yet without some serious hacking, I can’t just add some tags to a page. Madly frustrating, since I want to do things like have a page under ‘Projects’ that then lists all of the projects that implement a specific technology. Take, for instance, the ‘PICAXE‘ page — aside from having information regarding the PICAXE, I want it to list all of the related pages that define PICAXE as being one of the technologies they implement, such as Ragnarok. In an ideal world, I can just use the page’s slug (picaxe in this case) as a tag, and tag all of the projects (such as Ragnarok) with that slug, and have magic happen.

Except — pages can’t have tags. So I have to write some code to use a custom field.

Oh, and pages can’t provide listings of other pages, so I have to write some code in a custom template.

Which brings me to widgets. Why can’t I have one template, with some widget sections instead of a content area, and then wrap up things like posts and comments and archives in widgets, allowing WordPress to use simple logic to determine which widgets get displayed when viewing a certain page? It leaves open the possibility of building widgets to do things like a table of contents, a list of related posts, or anything else for that matter — and displaying it differently depending on the specific context you’re viewing.

Nevermind the use of custom fields; I’ll touch on the possibilities of that construct at a later date.