November 22nd, 2007
How to Widget-Enable Wordpress Themes in 3 Easy Steps
Wordpress Widgets are an amazing way to customize your blog besides wordpress plugins. How to widgetize your wordpress theme? I use a heavily modified version of the Blix wordpress theme, which does not support widgets…
First thing to know is that Widgets are part of WordPress core since WordPress 2.2 and you do not need to install any Widgets plugin to add widgets on your blog.
Step 1: Create functions.php
No such file existed in our theme, so we simply create a new functions.php and FTP it to the theme folder. Here is what exactly you need to put in the file
<?php
if ( function_exists('register_sidebar') )
register_sidebar();
?>
This will work only if you use the default markup of wordpress with h2 as sidebar titles and an unordered list like this
<ul>
<li>
<h2>Sidebar Title</h2>
<ul>
<li><a href="link1.html">Link 1</a></li>
<li><a href="link2.html">Link 2</a></li>
</ul>
</li>
</ul>
Customize functions.php
But we do not use the default markup of wordpress. For SEO benefits, we use h4 for sidebar titles and do not use the ul and li unordered lists in this way. So instead of the above code, we change the function.php file in this way to suit our custom wordpress template.
<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
?>
The code titles are self explanatory. before_widget and after_widget - we need no special code , so we leave it empty. before_title and after_title we use the h4. This modification overrides the default markup and now supports our custom template. You can modify it as per your own site web design css.
Step 2: Add Widgets to Dynamic Sidebar
This functions.php code will help widgetize your wordpress theme and support a single dynamic sidebar. Now when you go to your wordpress dashboard under Presentation, you will see a new item called Widgets.

In the Sidebar Arrangement, You can drag and drop widgets onto your sidebar from the list of preinstalled widgets like Tag Cloud, Recent posts, RSS feeds, Recent comments, Calendar, Archives, Categories, Search, Links easily.

Do not forget to save your changes and the widget will be updated. You can drag and drop as many widgets as you like. Clicking on the widget will pop up a set of options which you can modify to further customize the widget.
Step3: Add Dynamic Sidebar to Template
Now you need to place a php code in the sidebar to enable a dynamic sidebar that that will function to display the saved widgets. Paste this code anywhere while editing sidebar.php.
<?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?>
<?php endif; ?>
Save the changes and the new sidebar will now display your widgets! That all there is to it.
See the sidebar at work on our tumblelog (that is a recent posts and RSS widget!). Now go and find new widgets to add to your blog.
Update: Here is a tutorial on how to add multiple dynamic sidebars to wordpress template and support multiple combinations of widgets.
If you like this post, then please subscribe to my full text RSS feed. You can also subscribe by email and have new posts sent to your inbox.
Read more
How to Create Multiple Dynamic Sidebars for Wordpress Widgets
Top Posts of November 2007
Install WordPress Widgets Plugin by Automattic
Dreamhost Easy Mode One-Click Wordpress Blog Hosting
WPzipper Compiles Custom Wordpress Installs





Comments
RSS feed for comments on this post.1. Interweb Millionaire | 27/11/07 #
It’s also really easy to add multiple sidebars to a theme. You can simply add the following line after “register_sidebar(array(”:
'name'=>'Sidebar 1',You can add multiple sidebar sections to functions.php, for example, “Sidebar 1″, “Sidebar 2″ and so on. You then need to call specific sidebar in your template file like so:
–
JP
2. QuickOnlineTips | 27/11/07 #
JP - I have been using lots of multiple sidebars and its a great feature. The multiple sidebars tutorial is coming soon…
3. Nirmal | 28/11/07 #
This is a simple method everyone can follow, I too had added the third sidebar to my blog previously using this method.
4. Nathaniel Buck | 12/01/08 #
Thanks for this simple and clear tutorial. It was just what I was looking for.
5. allenooi | 25/01/08 #
I’m using the theme called Iridium. When I click the widget, the below message appear:
No Sidebars Defined
You are seeing this message because the theme you are currently using isn’t widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please follow these instructions.
Is your steps will fix this? I actually tried to create a function.php like you mention. But when I clicked on the widget, the above message still appear.
Do you know how to fix this? Thanks.
6. QuickOnlineTips | 26/01/08 #
It is functions.php and not function.php
Also you need to place it in the theme folder you are currently using.
7. Jonathan Lumb | 5/04/08 #
Thanks! Great little guide - my theme is now completely widgetized…
8. Saturday Links | 25/11/07
9. The Return of the Links | 27/11/07
10. How to Create Multiple Dynamic Sidebars for Wordpress Widgets | 27/11/07
11. WordPress World: 100+ WordPress plugins, articles and resources | Stalkk.ed | 3/12/07
12. 3 Easy Steps to Enable Widgets On Your Theme | 23/12/07
13. Buffer Dump 23DEC07 « Feet up, eyes closed, head back | 24/12/07
14. Top Posts of November 2007 | 30/12/07
15. WordPress widgets - What are WordPress widgets and how do I use them? | Independent Digital | 19/02/08
16. Embracing the freight train of blogging frustration | 1/03/08
17. Hot Wordpress Themes » An easy way to widget-enable WP themes! | 26/03/08
18. Wordpress 2.5 - I’m impressed :: Joel Oliveira | 15/04/08
Comment on “How to Widget-Enable Wordpress Themes in 3 Easy Steps”