Article on WordPress Coding and Development

Adding an icon to WordPress widget title

This CodePen shows how to add Font Awesome icons to WordPress widget titles by using jQuery. This script can be easily added to a WordPress theme or a WordPress plugin. By default, WordPress widget header titles have whatever class the developer assigns them. If you use the same widget you may get all the widget titles with identical classes or no class at all. This simple jQuery script allows you to easily append an icon to the widget title. The jQuery script uses the contents (see jQuery contains selector )and some jQuery selector of the title to auto append an html tag.

jQuery(document).ready(function ($) { //noconflict wrapper
    // widget object - acts like a class
    var widget = {
    news : "rss", 
    tweet : "twitter",
    event : "calendar",
    note : "pencil-square-o",
    download : "download",
    contact : "phone",
    setIcon : function(icon) {
       var myreturn;
       Object.keys(this).forEach(function (key) {
          if(icon===key) {
          myreturn = ' ';
       }
       }); // end foreach loop
       return myreturn;
   } // end setIcon
 }; // end widget object
 //
 // in $(<your selector>:contains("Your widget title").append(widget.setIcon('<key_name>'));
 $('h3:contains("News")').append(widget.setIcon('news'));
 // returns : <h3 class="widget-title"><span class="widget-inner">News</span><i class="fa fa-rss fa-fw">&nbsp;</i></h3>
 //
 $('.widget-title:contains("Tweets")').append(widget.setIcon('tweet'));
 $('.widget-title:contains("Resources")').append(widget.setIcon('download'));
 $('h3:contains("Contact")').append(widget.setIcon('contact'));
}); //end noconflict

The script has some pre-set icons, but you can use whatever Font Awesome icons you want. You can add your key name and your icon value (<key_name> : <key_value). Your WordPress website or your WordPress plugin will need to load Font Awesome (see getting started). Below is a CodePen embed – take a look. Share your thoughts about the script in the comments below or send me a tweet @liquidbook.

See the Pen Adding an icon to WordPress widget title by Felipe Lujan-Bear (@liquidbook) on CodePen.

Published by

Felipe Lujan-Bear

I am both a left and right brain person. I have spent over 15 years as an online developer and designer. After attending the Academy of Art - San Francisco, I worked in online learning for a number of years at Pearson, plc as project manager for UK-based university websites. I have worked on projects for Hyperion - Oracle, Mercury Interactive - HP, Thinstall - VMware, eTrade, Wind River, and many others. My projects have included developing large websites, custom CMS, trade show presentation and collateral material, partner marketing, inbound marketing, video production, flash development, and WordPress site design and development. On the creative side, my skills run to a full range of design, animation, video, and photography. On the technical side my skills include a wide range of internet technology such as PHP, MySQL, JavaScript, Jquery, HTML, CSS, XML, and more. Because I have worked in the corporate world for many years, I understand the complex challenges involved in professional design and development.

Leave a Reply

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