How to add widget area to WordPress theme


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:

Widget definition:

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.

WordPress widget in the admin panel

WordPress widget in the admin panel

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:

WordPress widget at the front end

WordPress widget at the front end


Do you want to share your opinion?

Your email address will not be published. Required fields are marked *


*

We are not industry specific. We are WordPress specific. We work with everyone to help them find solutions with their troubles.
If you show us the problem you are experiencing, we will show you how to fix it. It is that simple.


Reported WordPress issues

  1. Uncaught Error Call to a member function is_search() on string
  2. Get child and sibling pages to one level [Wordpress]
  3. Inner Div is Spilling from outer div due to fixed aspect ratio
  4. CkEditor creating conflict with Widgets
  5. How to display custom user profile picture in WordPress admin and front end
  6. WordPress Navigation Menus for footer and header
  7. Wordpress Posts Redirect to a new folder
  8. Send mail using wp_mail once a vaule is updated on a table
  9. make font size smaller when post title exceeds a limit
  10. How do I remove [facebook Twitter Google+] from my RSS feed?

WordPress problems we are working on

  1. Search Not Found Wordpress Page
  2. Sticky menu wordpress
  3. Permalink redirection to single.php
  4. CMB2 data save in separate row
  5. LayerSlider video not working “mediaProperies”
  6. How to include theme header and footer in taxonomy page which is inside in a plugin
  7. WordPress Customizer not working
  8. Ionic Wordpress JSON API vs WP Rest API 2
  9. When added custom HTML code slider revolution disappears
  10. Need to know what platform to use to build a secure web portal

Resolved issues

  1. How to implement Google Adwords Conversion track code with Contact Form 7?
  2. Chrome extension signing through website
  3. Title being appended to featured image link
  4. MySQL Cache every SELECT query until there is a new row?
  5. How to display post attachments in post edit screen in WordPress
  6. jquery redirect on button click
  7. Why Wordpress wp_update_post function removes html form tags?
  8. htaccess redirect for all subpage url to home in wordpress multisite
  9. Wordpress posts lost all likes (no switch to HTTPS)
  10. Wordpress network analytics for each site
wppotion - powered by persistence and passion