How to Use WordPress as CMS with Flutter Plugin

wordpress-cms There has been a long debate in web development community about the CMS capabilities of WordPress. Recently WordPress won Overall Best Open Source CMS Award of 2009 and got 2nd position in best Open Source PHP CMS category. WordPress beat Joomla in best Open Source PHP CMS category. All of this is ensuring that WordPress is not only blog publishing software but now it is also used as a CMS to strengthen the development of websites because of its ease of use and open source characteristics. Plugins and themes are the best way to extend the capacity of WordPress as a Content Management System than adding bloat to the core of WordPress.

While extending WordPress as a CMS, Flutter is a plugin which allows us to create write panels for various type of content. Flutter also helps in the process of making versatile page templates. Another very useful feature of Flutter is its “Edit in place” feature. This feature enable user to edit the content is real time without going back to WordPress admin Panel. This is a very rich feature for those clients who don’t want to mess up with WordPress integrated WYSIWYG tiny mice editor for a small change in content. In this article we will take a look on how to create Custom Write Panels and page templates using Flutter, the CMS plugin for WordPress.

Installing and activating Flutter

You can download Flutter from WordPress plugin repository. After activating Flutter, it extends WordPress admin panel with two tabs. One tab under the settings panel (Settings–>Flutter) and second is its independent tab “Admin Panel–>Flutter”.

flutter-1

Flutter Plugin Settings

You can access the main flutter settings panel under the Settings tab. The original post, page panel integrated by default in WordPress can be disabled using Flutter options. Using this panel different write panels can be assigned to different Roles with the assistance of Role Manager Plugin. Flutter can be safely uninstalled from this panel and its feature of “Edit in Place” can also be removed. I want to mention that some of the functions don’t work in flutter such as hiding tinymce editor doesn’t work.

flutter-2

Creating Custom Write Panel

We will create a custom write panel for a page that shows new cars. We will have car’s description, 2 specifications for the car, an exterior picture and interior picture. Let’s start. After that we will create a custom page template that will show our page having custom fields.

First of all we will go to Admin Panel->Flutter->Write Panels. We will create a panel with title “Cars”. In Assigned theme box we will select that page template, we will develop later. The next checkbox is of quantity. It depends upon your need, if you want to show a single car then go for single otherwise select multiple. The consequence options are advanced fields and order. Select advanced fields according to your need. In my case I have disabled all. Order is the number of panel on which it will show in WordPress admin panel.

flutter-3

After saving you will see a new panel in your WordPress admin panel with the title of Cars. Let’s add the aforementioned custom fields. I will show you how to set one text field and one image field. The same method applies to all. Below screenshot shows you the settings for the variable “description” that shows the description of car.

flutter-4

Press save and now flutter will ask you for the width of field. Select one that suits you. Press Finish and you are done.

In the following screenshot, an image field named “ExteriorLook” that shows exterior look of the car is created. When an image field is created, flutter asks for the image class, fill this by writing the default image class of your theme. On next step it will ask for the maximum width and length of image. Again choose one that suits you. I have selected 400*300.

flutter-5

In the following screenshot, I have shown custom fields for my custom write panel “Cars”. Variable names are very important as they will be used in custom template. According to predefined rules of php blank spaces are not allowed in variable names.

flutter-6

This is how our custom write panel looks now.

flutter-7

At this time if we will create a page with default page template, it will show nothing except what you typed in tinymce editor.

Creating the Page template:

Now we will create the custom page template that will have all the values of our custom fields.

The standard header for custom page template in WordPress is

/*
Template Name: Cars
*/

Having this code in a file within your theme’s folder, WordPress will recognize a Page Template “Cars”.

Following is the default custom field code for adding into page template

<?php echo get('variable'); >?>
<?php echo get_image('variable'); ?>

You can read all the codes here in Flutter Usage.The variable name will be replaced by Custom Field name.

Below is the final page template. I have commented the code so that you can easily understand it.

<?php
/*
Template Name: Cars
*/

get_header(); ?>

<div id="content" role="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

 <div id="post-<?php the_ID(); ?>">
 <h2><?php the_title(); ?></h2>
 <div>
 <?php the_content('<p>Read the rest of this page &raquo;</p>'); ?>
<!--End of Default Page Template Code-->
<!--Our customized Page Template code-->
<strong>A smart Review of <?php the_title(); ?> </strong>
<?php echo get('description'); ?><!--This will show the description field-->
<h4>Specifications</h4>
<table>
 <tr>
 <td>Car Cylinders:</td>
 <td><?php echo get('cylinder'); ?></td><!--This will show the cylinder field-->
 </tr>
 <tr>
 <td>Transmission:</td>
 <td><?php echo get('Transmission'); ?></td><!--This will show the Transmission field-->
 </tr>
</table>
<p><h3>Exterior Look of the car</h3></p>
<?php echo get_image('ExteriorLook'); ?><!--This will show the ExteriorLook image-->
<p><h3>Interior Look of the car</h3></p>
<?php echo get_image('InteriorLook'); ?><!--This will show the InteriorLook image-->
<!--/*End of Code-->
 </div>
 </div>
 <?php endwhile; endif; ?>
 <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
 </div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

This page template can now be selected from Edit Custom write panel.

flutter-8

Here is how our Custom Write Panel “Cars” looks with content filled.

flutter-9

Edit in Place Feature:

This rich feature is very good for those clients who have not an understanding for WordPress admin panel. Whenever an administrator will roll over to the custom field in the page, flutter will highlight the editable area. The color which is used to highlight editable area can be changed from Flutter plugin settings.

flutter-10

Last Words:

Flutter is still not a stable plugin as it has bugs and some of the features don’t work with latest versions of WordPress (Version 2.8) yet it is a good step from Freshout for extending WordPress as a CMS. The time spent in making Flutter work for you is far less than attending the calls of clients explaining them how to edit and add content using WordPress post/page write panel. Flutter also lacks documentation. But there is news in industry that the creator of WordPress Matt has plans to improve this plugin.

I hope this article will help you a lot in using WordPress as a CMS. I will love to read your tips and techniques for extending WordPress as CMS. Share them with us in comments.

No related posts.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

{ 10 comments… read them below or add one }

Enk. December 11, 2009 at 02:46

Cool plugin but pretty lengthy for a simple job.. I hope they make it better in the new versions.. but its gonna be really useful ! :)

Reply

Saad Bassi December 11, 2009 at 03:08

I agree with you when it comes to custom page teplates.But i think it is useful when creating custom write panels and enhancing client’s comfort

Reply

Wes Bos December 11, 2009 at 03:31

Flutter is dead :( The image upload breaks all the JS in the back end. Cool tool, just not very useful anymore.

For the same functionality, check out Magic Fields, its a forked version of flutter that has all of the problems fixed.

If you want something even more in depth, check out PODS.

Reply

Saad Bassi December 11, 2009 at 16:10

Yes pods is very good but the problem is it is very complex.I came to know about Magic Field while researching for this article.Thanks for sharing.I will look into it.

Reply

Ahmad December 12, 2009 at 02:42

@Wes Bos
Flutter is not dead.The people at Freshout are soon releasing the updated plugin.Moreover at WordCamp Birmingham photomatt also said that he will look into flutter as he don’t like the way of implementation.
You can see details here
http://www.dquinn.net/flutter-is-not-dead-says-navid-matt-mullenweg-takes-notice/

Reply

David Valdez December 25, 2009 at 04:34

As i said in other blog:

Well i think to for now flutter is dead because his last commit in his development version was almost six months ago
(http://github.com/freshout/flutter)

Until someone take the plugin and start to work on it, flutter is officialy dead

David.

Reply

Saad Bassi January 3, 2010 at 03:55

Well may be you are right? But the folks behind freshout were the first one to take the initiative. Flutter is working good for me so i didn’t switch to your’s magical fields. Although I tested magical fields and it also have bugs. After the publication of the article I got an email from Navid and he reassured me that they are working on the next release of Flutter with some new and great features.

Reply

James January 2, 2010 at 02:06

I’ve been looking into something like this, similar to the “more fields” plugin.

On my test install, I can’t seem to get “magic fields” working with wpmu. It activates, but doesn’t save the information such as “write panels” or groups.
.-= James´s last blog ..Our New Canon 7d =-.

Reply

Saad Bassi January 3, 2010 at 03:57

As said earlier Magical fields and Flutter both have bugs and errors. So you can’t expect things running smooth. The best cms framework in my opinion is pods cms but it depends on your needs which to use.

Reply

Abhishek July 3, 2010 at 05:05

Nice one ;)

Reply

Leave a Comment