Using WordPress as a CMS
Posted on 13. Apr, 2009 by Alex Denning in Discussion

A couple of years ago if I’d said WordPress would make a great CMS, you’d have probably thought I was totally mad! These day however, when you need a simple CMS WordPress is a brilliant option. In this post I’m going to show you how to make your wordpress CMS even better with some simple bits of code and some not so simple plugins.
Customising the navbar
First thing we can do is display pages on the navbar instead of categories. We can do that with the following code, creating an ordered list:
But you won’t always want to display all your pages, so you can be picky and exclude certain pages by finding their IDs:
[xml]
<ul>
<?php wp_list_pages(‘exclude=pageid,otherpageid’ ); ?></ul>
[/xml]
Or maybe you’d like to display pages based on date?
[xml]
<ul>
<?php wp_list_pages(‘sort_column=post_date&show_date=created’); ?></ul>
[/xml]
Source – WP Codex
Flutter
Flutter is a WordPress plugin that will transform your site into a fully fledged CMS. What does it do? Check out the flutter release page for the complete low-down, but in a nutshell it allows editing of posts without leaving the post page,
gives you ‘custom write panels’ that give you more options besides post and page. It also has phpthumb built in for ‘powerful image manipulation’.There are a couple of videos running through the features on the plugin’s microsite, so check it out!
Manage what users can/can’t do
Something that is essential in any CMS is the ability to manage users. Whilst wordpress has basic user management built in, you can extend it further with the Role Manager plugin. What this allows you to do is precisely manage your users: the options are huge! The screen below is from one of my sites, Nometet.com, where I use the plugin.

Using page templates
Page templates allow you use a custom template in pages, a really useful feature – you can integrate Google Custom Search for example. How do you create a page template? Open up your editor (ie Notepad) and add the following code:
[php]
<?php
/*Template Name: whatever you want your template name to be */
?>[/php]
With that at the top of the page, you can add whatever code you like below.
To use your new page template, upload it to your theme directory and go to the page editor, and under attributes find your template. Done.
Display a page as homepage
Another essential CMS feature is the ability to display static pages as the homepage. Once you’ve created your page, go to ‘Reading’, under the Settings tab. Select the option ‘A static page’ and then select the page you want from the drop-down menu. Done.
Permalinks
Something that you should do anyway for SEO’s sake, but is also a nice CMS-like feature is change your permalinks. Again under settings, select ‘Permalinks’. The WP Codex has a list of all the options you’ve got, but I’d go with /%category%/%postname%/ or /%postname%/.
And finally
In this post I hope I’ve given you a couple of pointers and ideas to make wordpress your CMS of choice, but there is a lot more you can do besides! Stay tuned for a WordPress-as-a-CMS theme coming soon!
Additional reading
Chris Coyier’s screencast on the topic, for CSS Tricks.
Creating page templates – WP Recipes
No related posts.

Enjoyed the post? We'll see you on Twitter or in your RSS reader!

Alex Denning is the founder of WPShout. A WordPress developer from London, Alex co-founded WPShift at the start of 2010 where he sells awesome WordPress themes.
You can find Alex on Twitter and at AlexDenning.com.
23 Responses to “Using WordPress as a CMS”
Trackbacks/Pingbacks
[...] the original here: Using WordPress as a CMS | Nometech.com « VN Idea Design » Free WordPress Theme – Fresh Blog 4 WordPress Design | The NFL, Drug [...]
[...] Using WordPress as a CMS [...]
[...] more here: Using bWordPress/b as a bCMS/b | Nometech.com This entry was posted on Monday, April 13th, 2009 and is filed under WordPress News. You can [...]
[...] Using WordPress as a CMS | Nometech.com [...]
[...] Using WordPress as a CMS – (Artikel von nometech.com) [...]
[...] via Using WordPress as a CMS | WPShout.com. [...]
[...] Using WordPress as a CMS | WPShout.com (tags: wordpress cms tutorial plugin hacks) This was written by andy. Posted on Monday, April 12, 2010, at 1:03 am. Filed under Delicious. Bookmark the permalink. Follow comments here with the RSS feed. Post a comment or leave a trackback. [...]




Amy Christensen
13. Apr, 2009
Nice post! You've got some great tips here. I've set up blogs in WordPress and have been tossing around (but was still a little uncertain about) using it as a CMS for some of my website clients. Main question: If a client is going to have a WP blog as well as a site, would you suggest setting up their blog separately (and link to it) or incorporate it into their main WP website? If the later, how do you suggest managing this all within one WP site?
choen
15. Apr, 2009
nice post… thanks..
Patternhead
15. Apr, 2009
Interesting post, thanks.
I really need to get my head around the role management in WP. I have an art group site that runs on Textpattern and I'd love to move over to WP and allow members to take care of their own pages.
goofydg1
15. Apr, 2009
I use WordPress as a CMS for many of my clients. Works great. With the proper set of plugins you should have no problem.
Tim
15. Apr, 2009
Thanks for this post. I love using WordPress as a CMS. I haven't had much luck with Role Manager though, didn't seem to work right.
Hirvesh
22. Apr, 2009
Loved your post. Keep up writing those articles..they are great.
You might want to check my own WordPress articles:
http://codefusionlab.co.cc/the-9-most-useful-word...
mediatechno
27. Apr, 2009
i think is very useful information . thank you
GreyGoose
20. Aug, 2009
WordPress is an excellent blog builder, but if you want to create a website for your clients there’s an even better free tool called ModX – do all your design in your favourite web-editing tool, no php knowledge required, no cutting up the page and saving it as something else, just paste your HTML into the new template box within MOdX, with the right content commands etc, as per the supplied sample, upload your CSS and images and job done. Also in it’s favour, the default admin pages look like they’re aimed at adults not children.
Jim Pohl
28. Sep, 2009
Hi Alex,
I’ve written a standard text in HTML. I’m looking to present it in a CMS. I haven’t
seen a book done that way. Might you know of one (or some).
Please look at my site. There is a lot of work there. The work needs to be “indices-sortable.”
Categories, I guess. Anyway I need advice and help.
Thanks, Jim Pohl
Alex Denning
28. Sep, 2009
Jim,
Replied to your email which answers your question.
Steve
06. Feb, 2010
Hi,
Great post. I am completely new to WP – where do I put the code for the navbar?
Thanks,
S
Alex Denning
06. Feb, 2010
The header.php file.
vadepaysa
11. Apr, 2010
Honestly, don’t do it.
DO NOT USE wordpress as a CMS. WordPress is excellent blogging engine and that’s about it.
I am writing this out of experience. I too was super excited about using WP as a CMS, because it was working so well on my blog. ALl the plugins, themes, awesome!
BUT, I did a terrible mistake when I decided to use WP as a CMS for a huge non-profit org.
I bravely installed WP thinking I will hack in anything I want, but,
they had such dynamic requirements to the page content and such complicated user access rules that every change they wanted meant hacking a plugin or tweaking php of my theme which took hours together.
This drove me INSANE!
And to my rescue, came my age old friend, Drupal.
Drupal is a CMS
WP IS NOT
WP is an amazing blog platform.
Please use caution, please learn from my painful experiences.
AlexDenning
13. Apr, 2009
These days most sites will go for using two installations – one at the root the other at /blog/ or whatever, but if you\\'re clever about it there is really no need – use pages for your static content and posts for your blog posts.
If you set the homepage to be a page (and add it to a custom page template for extra customisation) and not latest posts, you can display the latest posts in the sidebar or whatever and do it that way.
You could set the permalink structure to /blog/ so posts have that structure, whereas pages will just be /. The possibilities are endless; let me know how you get on, and, of course, it\\'d be lovely if you could subscribe to the ol\\' feed!
Amy Christensen
13. Apr, 2009
Thanks, Alex! Your first option was what I had been planning, but I might try setting it up differently now. Thanks again!
hal9000
06. May, 2009
you need wordpress mu and buddypress . probs the best combo for that.