WordPress CMS Tips
March 12th, 2010
After utilizing WordPress as a Content Management System for many different websites, including PestaRoo.com and Nebraska Christian Music Festival, I have found what I believe to be some of the best techniques.
Categories
Section off the content of the website into different categories. For example, if you are developing a theme for a magazine-style website, you may have categories such as:
- Local
- US
- Global
- Entertainment
- Sports
- Business
- Humorous
- etc, etc
The website’s posts (articles) are then filed into these different categories to allow for easy browsing by readers. Use your website’s categories as the site’s main navigation. They can be listed with the WordPress template tag <?php wp_list_categories(); ?>. Use the site’s pages as secondary navigation.
Page Templates
Create a variety of page templates so that the site owner can easily choose between multiple page structures. For example, create a template for the homepage that displays one or more featured posts, latest news items, latest photos, etc. Then also create a template for a full width page, a gallery page, and any others you wish.
Include this at the top template_name.php in order to create a page template:
1 2 3 4 5 6 7 8 9 10 11 | <?php /** * @package WordPress * @subpackage Default_Theme */ /* Template Name: Home Page */ get_header(); ?> |
Easy Linkability
One of my clients once said to me “wow, that is scary powerful” when I showed him how easy it is to create a link within a post or page to another post or page on the site. While this may not be something that developers think about often because we’re no use to creating links with
<a href=". . .">Link</a>
but it really is one of those little things that help to please the client.
I like to use the Link to Post plugin. It’s very minimal and makes creating links even easier than the default WordPress method.
Image Editing
Making it easier for your client to manage their website’s images is key for a good CMS. Scissors is one of my all-time favorite wordpress plugins that I include with every site I develop, whether it be a blog, e-commerce solution, or personal portfolio.
Contact Forms
Give your client the ability to create and modify contact forms. Several really good plugins for this include: C-Forms and Contact Form 7.
It’s important to remember to include css styling for contact forms in your theme, even if you are not immediately using any forms.
Permalinks
Ensuring that people are able to get to various parts of the site by typing in the direct url is very important, so use a good permalink structure. I personally like
/%category%/%postname%/
the most.
Posts – Dos and Don’ts
Obviously posts will be used for creating articles, tutorials, blog posts, etc, but they can also be used for other sections of the website. For example, as seen in the header of PestaRoo.com (the skinny orange box), posts can be used for “announcements”. To do this, create a category called something like “announcements” and write the post. That post can then be displayed wherever you wish by using the following code in one or more of your template files, such as header.php:
1 2 3 4 5 6 7 8 | <?php $cat_posts = get_posts('numberposts=1&cat=#'); ?> <!--replace "#" with your category id--> <?php foreach($cat_posts as $post) { setup_postdata($post); ?> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> <small><?php the_date('m-d-Y'); ?></small> <?php } ?> |
It is also best to then hide this “announcement” post from showing up on any category pages. To do this, simple exclude the “announcement” category id # from the navigation, and also from the post query. This can be done in a couple of different ways.
To exclude from navigation:
<?php wp_list_categories('exclude=#'); ?>
To exclude from the post query inside of the loop:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php query_posts('cat=-#'); global $more; // set $more to 0 in order to only get the first part of the post $more = 0; ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> . . . <?php endwhile; ?> <?php endif; ?> |
If you’d prefer not to exclude the category from inside the template file, there are also a variety of plugins that perform the same task quite nicely. I usually use Category Visibility.
Do make use of posts for things like announcements (unless you’d prefer to code in a custom write panel to fulfill the same idea).
Do not go crazy with this. If you begin creating dozens of posts like the example above, you will create a maze of posts that quickly become difficult to navigate through when you wish to make an update.
Do create dedicated categories for these sort of posts, for example, “announcement”.
Please continue reading WordPress CMS Tips Part II for further tips.
Tags: cms, tips, tutorial, Wordpress
Posted in Tutorials, Wordpress, php | 6 Comments »






Hi Pippin
Came over from Pro Blog Design to see what you were doing.
I started using WordPress because of its CMS potential so this post is very helpful.
Lots of clients want to be able to edit the material themselves.
I’ll take a look at “Scissors”, if it helps clients with images it’s got to be good.
Thanks for some great ideas.
I look forward to part 2.
I’d glad you liked it. I have found the Scissors plugin to be one of the most useful of all the plugins I run.
Part II will be focusing on a lot of plugins and extra directly-implemented features for a WordPress CMS
I’ve often thought that I could teach a client to use the WordPress dashboard for editing text, but could I teach them to crop, resize, optimise and upload images.
Maybe this plugin will help.
I use WordPress for all of my client’s sites and have never had a problem teaching them how to manage their content, images and videos included.
Thanks Pippin
Gives me hope.
WordPress CMS Tips Part 2 has been posted.
Part two focuses on plugins.