Using WordPress as a Content Management System (CMS)
For websites that use WordPress as a CMS there are good reasons to carefully craft a solid site structure with easy to grasp hierarchies. Depending on the nature of the site there are different routes to go by when choosing a strategy for your template structure. If your site is a blog with only a few static pages then you will likely not need to change anything or come up with a custom solution. Same goes for a site that consists of a number of static pages; the most suitable solution will in most cases be using “pages”. If, however, your site consist of both static pages and content with news-character your are more likely drawn towards using category pages. They are somewhat more tricky and will not give you the same ease of use as “posts” or “pages”. When using categories, tags or any custom taxonomies, it is very useful and most of the times even necessary to use custom templates for some of the categories.

Custom Taxonomies
With version 3.0 WordPress took a giant step towards becoming more of a full blown CMS. Introducing custom taxonomies, WordPress is no longer limited to categories and tags. There are many great guides on how to implement your own taxonomies out there, such as this one, so I won´t go into details on how to. Now the only thing missing in my book is getting better editing capabilities for taxonomy pages. Currently there is a field to put text in, that can be called by <?php echo category_description(); ?> – No HTML without hacks…
Why use category pages?
The most common option is to use a mix posts and pages, where static content is represtented by pages and news content by posts. This is fine for most websites but if you´re looking to build something where you want content to be structured into topical hierarchies, then you need to look towards different taxonomy pages to represent your static content.
Template customization needed
Say for example that you have a website about Vehicles where you want a landing page set up for Racing Cars. On top of that you want to be able to associate different news flash content with this landing page, i e you want to list related news items somewhere on this landing page for racing cars.
The hierarchy might look something like this:
Vehicles > Cars > Racing Cars
Vehicles > Cars > Racing Cars > Ford Racer X10
For this type of setup the Racing Cars page would be a category page and the Ford Racer X10 page either a single post or a custom post.
Now let´s say you have a landing page for motorcycles like this:
Vehicles > Motorcycles
First off, in order to fit into the previously built category hierarchy, being primarily a landing page with static content it still needs to be a taxonomy-page of some sort. Rather than a static page. Now, let´s say you want the Motorcycles landing page layout to be different than the Cars landing page. In that case the you´d need a custom template for one of them:
category-motorcycle.php
The easiest way to create this custom template is to copy the content of the category.php or archive.php (whichever you are using), into a new file called category-{slug}.php and then start customizing from there.
If you are using an earlier version of WordPress, then you might need to use category-{ID}.php instead of the {slug}.
The bottom line
I´d like the next steps in the WordPress evolution to be, as mentioned previously, better editing capabilities for taxonomy-pages and on top of that template inheritage. Say what? Well, it would be very neat to out of the box have the ability to create a custom template and then optionally have all the child categories (or whatever taxonomy) automatically inherit its parent template. All in all I believe that “page”-pages and category pages needs to merge their functionality into one flexible “page”-type.
But still…
With a little hacking and tweaking all this stuff is already possible within WordPress. So, using WordPress as a CMS is already a good option. For a number of reasons – most of them beyond the scope of this blog post. Happy tweaking!







