If you followed along with my article on configuring WordPress as a CMS, you’ve no doubt got your shiny new WordPress installation set up and ready to customize. Before we dive in to using your setup as a CMS, let’s cover some basics.
There are two means of displaying content with WordPress – Pages and posts. Pages operate outside the the Loop. In other words, they don’t age and they’re usually accessible as part of the main navigation. They’re used for displaying static information such as a contact form, bio, services, etc. Conversely, posts are dynamic pages which will “age”, or move down the blog chronology as new entries are made.
Page Control
The number and type of pages which can be added using custom templates is virtually limitless. Say you want to showcase your Portfolio. You might need a layout vastly different from your standard pages, especially if you’ll be displaying large images. The easiest way to accomplish this is to duplicate page.php, rename it to portfolio.php, and style to fit the needs of your content. Finally, add the following to the top of your page (before any other code):
1 <?php
1 /* Template Name: Portfolio */
1 ?>
FTP your new template and log in to your control panel. From within the Pages admin panel, create your page. I know this seems redundant, but WordPress needs to reference it somehow. Add your content (either from within your HTML editor, or via the Write box within WordPress) and assign the page to the ‘Portfolio’ template using the drop-down selector on the right.
Post Control
Using the Loop, you have extensive control over how and where your posts appear. You can create custom styles by category, single post, or even by manual posting. For example, the index page of a typical WordPress site features the most recent post(s), ordered by date. If you want only certain entries to appear on the front page, you can specify this by modifying the Loop in the home.php or index.php file.
Further Considerations
- Comment Control – for every forum, blog or community portal, there needs to be a way to moderate. In time, you may need to employ the use of some comment moderation and/or anti-spam tools.
- User Management – User roles may not be a consideration for you yet, but if you ever plan to have multiple authors or users, you’ll have to implement some restrictions.
Well this wraps up my first attempt at writing a custom Wordpress installation guide. :) If you notice that I left anything out or completely botched something up, please let me know so I can make corrections!








12/11/2007
Thank you for these articles. I am new to WP, read a lot the codex and just needed some advices and examples to set up WP as a CMS. You really helped me a lot with these series of articles about Wordpress as a CMS.
12/16/2007
[...] DesignAdaptations, Using WP as CMS and “Configure WordPress as a CMS“; see also “Potential of WP; Extending as a [...]
12/18/2007
You’re quite welcome, and thanks for stopping in for a read. :)
12/27/2007
[...] Creating Custom Templates for Wordpress Charity at Design adaptations gives a step by step guide to creating template pages in Wordpress – “One of the ways I use Wordpress as a CMS is by way of custom templates. The kind of pages which can be added using template files that you define are virtually limitless. Say you want to showcase your Portfolio. You might need a layout vastly different from your default pages.” Charity has several other articles about using Wordpress including Configure Wordpress as a CMS. [...]
4/20/2008
Thanks for clarifying the codex – its endless.
I have been using WordPress for some time but am about to embark on using it as a CMS for a client, your articles are making things a lot more straightforward,
Cheers.
4/28/2008
thanx for the info
using it to create a static page for my blog
8/02/2008
Currently i’m having confusion, i would like to make a blog, which one i choose blogspot or wordpress?
I know themes and design wise wordpress is great choice, But can u please let me now in view of seo which one is better from both these?
8/04/2008
Well I’m no SEO expert, but I’d recommend WordPress over Blogspot hands down, for a variety of other reasons. Flexibility for one thing. WordPress.com is limited in terms of how much you can tweak your blog, but not as much as Blogspot. And if you ever plan to move to a self-hosted solution, at least with WordPress your transition would be virtually seamless because you would already be familiar with the interface.
There is also a huge community surrounding WP where you can find support, and the developers behind the project release consistent updates which provide more and more functionality!
8/15/2008
I’m early in the process of building a 75 page site with Wordpress. When I started building out my pages I noticed that the Manage->Pages interface does not have ‘categories’ like Manage->Posts. My navigation is going to be custom/fixed so I don’t have to worry about articles/content fading over time. I also want my pages to have url.com/category/pagename which it doesn’t seem like Pages can do since there’s no category. Might I want to just use Posts for all my pages so I can categorize them?
8/15/2008
Never mind. As usual, a little more searching uncovered a plug-in the does exactly what I needed to to. : ) It’s called “Page Category Plus” and works like a charm. Supposedly not being rev’d but hopefully somebody picks up the reins, and if not a similar one will come along I’m sure.
9/16/2008
Nice post. Well laid out thoughts. I appreciate you taking the time to put this together. Very interesting read.
CMS PHP | CMS Reviews | Open Source CMS
1/08/2009
Really great article! This has helped me a lot.
Just one question.
How can I create multiple text and image input areas for the client to use in the dashboard?
I want them to be able to edit a number of different elements on each page without having to know or encounter any code.
Is this possible?
- J
4/09/2009
It is quite easy and fun to modify wordpress using your own php/database code. You don’t really need that much knowledge to do this, in fact it is very easy to add your own css images etc by editing the default code.