Use WordPress as a CMS to manage your content - WordPress Plugins

WordPress Plugins for Content Management: Blogslot

by Sante J. Achille on July 9, 2007. Updated August 19, 2007 · 47 comments


Late last year there was a great amount of talk about using WordPress as a CMS. Stephan Spencer has always been an advocate of using WordPress as a CMS. I wrote my view on the issue – I was against using WordPress as a CMS because it was just too technical: Too much coding, for the average joe like myself, who doesn’t know much about code and programming.

WordPress is difficult to use as a CMS, even more so if you manage a multilingual blog such as this one. English speaking people (especially in the US) believe English is the language of the world, but it’s not. Writing or blogging multilingual isn’t a matter of translating content, but addressing issues that are of interest to different audiences:

Multilingual Blogging is a matter of culture and markets, not one of translations.

These specific needs were the drivers for the development of Blogslot – a WordPress Plugin to manage your content – let’s take a look at how it works …

Siderbar and Menu Management

The idea behind Blogsot is an easy and accessible management of your feeds and pages. With Blogslot you can organize and group your feeds (or pages) according to your needs – all you need to do is create a slot, anywhere on your page layout:

  • Header
  • Sidebar
  • Anywhere in the page

Screenshot of Blogslot Funcionalitiles Once you have defined your page layout, name each menu. Take a look at my sidebar – you’ll notice how I have arranged my feeds into 2 categories, English and Italian. There are also other elements like NEWS or International. That was all done via Blogslot. This is managed via the Page Slots element you find when you create or edit your pages. Same thing goes for your Feeds, you decide how to group them and leave the rest to Blogslot.

The Page Order functionality remains unaltered: choose a numbering system to arrange the order of appearance within the menu. There is no limit to the number of slots you can create, and you can have a page (or feed) appear in more than one slot as well.

Now to the tricky part – implementing a bit of code – just a little bit … you need to implement it within your template, just a small bit of code that uniquely identifies each and every slot (= menu) you create.

If you cannot code and ignore HTML your webmaster will certainly be of assistance – after all he did create your template, and it will take him literally minutes to do this for you.

Here’s what needs to be done step by step:

  1. Access your blog via FTP
  2. Position yourself in the folder where your active theme is placed – typically in a sub-folder of /wpcontent/themes/
  3. Download your template page or elements where you need to position your personalized menus (this can be the sidebar.php page in many WordPress templates)
  4. Backup your files before making any modifications – you never know, especially if you’re not a programmer …
  5. Identify the areas of the sidebar where you wish to position the new menus
  6. Copy and paste the following code (had to put some CRs you can eliminate:)
    <h2>MENU NAME</h2>
    <?php wp_list_pages(‘title_li=&sort_column=menu_order&slot=
    <?php wp_list_categories(‘show_count=1&feed_image=
    ‘); ?>

    MENU NAME = The name you have chosen for the menu – this is the header for your menu visible to the user on your page
    The name you have chosen for your slot. Blogsot adds the slot parameter to the template tags wp_list_pages e wp_list_categories, filtering out elements that are not associated to that particular element (if you are a programmer you’ll be interested in this, otherwise just forget what you just read).

  7. You may have to review paths to your image files
  8. Once finished, upload the files to your server

Now that you have the files on the server, you’ll need the map you created earlier (remember ? I suggested you create a map of you page layout to identify your menus with names).
Keep that map handy so when you add new pages you know where they should be positioned: Use intuitive names for your menus – it helps a lot. an example of blogslot at work: a menu called “pippo”

Now comes the fun part. Create a new page you would like to allocate in a menu called Pippo. From your administration panel do as usual and create a new page. When you are ready to publish don’t forget to add the name of the menu where the page should be positioned. You’re done.

Like I mentioned earlier, Blogslot also allows you to mange your feeds, organizing them into groups: this is very useful if you are a bilingual blogger (like myself) or if you simply wish to break down your feeds into groups, significantly increasing overall usability.

Now some information for the programming community, interested in some programming details … if you’re not interested stop here and proceed to downloading the plugin.

Technical Details for Programmers

Blogslot was created for those who are not programmers with minimum HTML skills. But there are also a lot of power users who might be interested in the technical rational behind the plugin: many times plugins are lacking information that makes them a black box, so when you upgrade to a newer version of WordPress and loose functionalities, the plugin becomes obsolete and useless.

For wp_list_pages a new attribute called at_level has been introduced. It allows for filtering of all sub pages related to the current one, just like what happens here on the menus of my blog (the main menu across the top of the page).

This is the code:

<?php wp_list_pages(‘title_li=&sort_column=menu_order&slot=Main Menu&hierarchical=&at_level=1’);?>

As you can see in this code both at_level and slot were used in combination with others. Slot and at_level can be used with all other attributes, there is one limitation: you must remember to set to false the hierarchical attribute with hierarchical=.

Unfortunately this parameter cannot be set automatically with this version of wordpress (blogslot was created with 2.1.3 and successfully migrated to 2.2.1) perhaps it will be in future versions.

As for filtering, WordPress automatically adds the class current_page_item to menu items related to the current page. Blogslot extends this functionality to exploit the new features provided by at_level, automatically adding the class current_page_item to all menu items related to that element.

So here you are – download and enjoy using WordPress as a CMS ! And don’t be stingy … leave a comment and your feedback – I’d like to know how it works out for you. We will be working on this plugin …

UPDATES: 26/07/2007 for WordPress 2.2 compatibility

Here is a link to many other WordPress Multilingual plugins.

Previous post:

Next post: