Have you ever asked yourself what the WordPress widgets and widget areas are? If the answer is yes, then you are at the right place. We will explain what the widgets are and how to effectively use then.
If you are familiar with theme options, then you know that WordPress offers a great number of options and features that help developers to create flexible solutions and extend the standard functionalities. In the following tutorial we will learn how to add widget area or areas to WordPress theme.
Before starting with the detailed explanations, let’s define what widget and widget areas are:
In essence WordPress widget is a small piece of code that is designed to perform certain actions upon execution. Usually well developed widget is ready to use option available in wp-admin section and any user with admin privileges can easily drag and drop widgets to the available widget areas.
Widget area definition
Widget areas are those places on your website that are designed to house the widgets and more specifically the code generated by them. Usually the developers place widget areas at the sidebar, but each section of your website can become a widget area. With just a little code, you can easily make your header or footer sections widgets areas and then drag and drop your widgets there.
Why do we use widgets?
Well, widgets are extremely handy tools. You can use them to point the attention of the visitors to a specific content, display image or play video or music. Depending on the widgets options, you can easily make your website more dynamically looking and easy to use by the people who read your website or blog. Moreover, WordPress widgets allow you to fully control the output and change it if necessary.
Before starting with the code, we will need to make some preparations. If you followed the instructions in the tutorial named How to create WordPress theme from scratch, then you have a simple WordPress theme skeleton you can use to work on, if not, then perhaps you are developing your own them. In both cases you will need to edit two files– functions.php and sidebar.php. Here are detailed instructions on how to add widgets areas and put widgets there:
1. Edit theme files
Open sidebar.php file of your theme and put the following piece of code in the place where you want your widget to show up:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("WPP Widget") ) : ?> <?php endif;?>
This code says, if there is dynamic sidebar and widget named WPP Widget, then display its output here.
2. Update your functions.php file
To do so, you have to open functions.php file and add the following code at the bottom:
if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'WPP Widget', 'before_widget' => '<div class = "wpp_widget_area">', 'after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>', ) );
This is a built in function that registers a sidebar with options in a form of array. This code defines a name, CSS class to wrap the output and h4 tags that wrap the title. Note that the name can be changed. The same applies for the other arguments as well. To control the output, you may add properties for wpp_widget_area CSS class in your style.css file.
3. How to add WordPress widgets
To avoid misunderstanding, make sure that you sidebar.php and functions.php file are updated and saved as explained. Then login to wp-admin section and navigate to Appearance and then Widgets. There you will see the newly defined Widget area name WPP Widget and you are ready to put a widget there.
Now you can drap and drop some of the available widgets and then check the front page. In my case I picked up Calendar widget and set border for wpp_widget_area class. Here is how it appears at the front end: