CMS Wordpress

How to create WordPress widgets with demo

Hi friends, In this post I am going to explain about wordpress custom widget and how to create WordPress widgets using with demo. For widget development we have follow the functions as mentioned in below.

1. Widget Class name should be ended with ‘_Widget’ only.

2. Class should extends ‘WP_Widget’

3. Have four functions

a) __construct()
b) widget($args,$instance)
c) form($instance)
d) update($new_instance,$old_instance)
How to create WordPress widgets with demo by Anil Kumar Panigrahi
How to create WordPress widgets with demo by Anil Kumar Panigrahi
demo link for How to create WordPress widgets with demo download link for How to create WordPress widgets with demo


class contains the name with ‘__Widget’ and extends the ‘WP_Widget’

Class FL_Widget extends WP_Widget{


__construct() is constructor for this class widget. This code will be run every time widget is loaded, when activated and updated.

public function __construct(){
            'fl_widget', // Base ID
            'Favorite Link Widget', // Name
            array( 'description' => __( 'A Favorite Link Widget is developed by Anil Kumar Panigrahi', 'text_domain' ), ) // Args


widget($args,$instance) function contains the code that will be rendered to the sidebar when widget is added and that will be visible to wbsite visitors.

public function widget($args,$instance){
        $title = apply_filters( 'widget_title', $instance['title'] );
        echo $args['before_widget'];
        echo __( 'Hello, World!', 'text_domain' );
        echo $args['after_widget'];


form($instance) function contains the setting page on WordPress widget admin screen. That will be visible in the Appearance -> Widgets. This method called the
form and all controlls will appear when widget options are expanded

public function form($instance){
            $title = $instance['title'];
            $title = __('New Widget Title','text_domain');
        <label for="<?php echo $this->get_field_name( 'title' ); ?>"><?php _e( 'Widget Title:' ); ?></label>
        <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />



update($new_instance,$old_instance) function called when click on “Save” option in the settings page in the admin secion/screen. And those details will save
into database by options.

public function update($new_instance,$old_instance){
        $instance = array();
        $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
        return $instance;

3 thoughts on “How to create WordPress widgets with demo”

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.