In many wordpress themes we want to create the wordpress widget. For creating the wordpress widget you just need to put following code in functions.php file.
This functions.php file you can find in wordpress theme folder.
class My_Widget extends WP_Widget {
function My_Widget() {
parent::WP_Widget(false, 'Our Test Widget');
}
function form($instance) {
// outputs the options form on admin
}
function update($new_instance, $old_instance) {
// processes widget options to be saved
return $new_instance;
}
function widget($args, $instance) {
// outputs the content of the widget
}
}
register_widget('My_Widget');
this code
<?php
class bm_widget_popularPosts extends WP_Widget {
function bm_widget_popularPosts() {
parent::WP_Widget(false, 'Popular Posts');
}
function widget($args, $instance) {
$args['title'] = $instance['title'];
bm_popularPosts($args);
}
function update($new_instance, $old_instance) {
return $new_instance;
}
function form($instance) {
$title = esc_attr($instance['title']);
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?> <input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></label></p>
<?php
}
}
function bm_popularPosts($args = array(), $displayComments = TRUE, $interval = '') {
global $wpdb;
$postCount = 5;
$request = 'SELECT *
FROM ' . $wpdb->posts . '
WHERE ';
if ($interval != '') {
$request .= 'post_date>DATE_SUB(NOW(), ' . $interval . ') ';
}
$request .= 'post_status="publish"
AND comment_count > 0
ORDER BY comment_count DESC LIMIT 0, ' . $postCount;
$posts = $wpdb->get_results($request);
if (count($posts) >= 1) {
if (!isset($args['title']) {
$args['title'] = 'Popular Posts';
}
foreach ($posts as $post) {
wp_cache_add($post->ID, $post, 'posts');
$popularPosts[] = array(
'title' => stripslashes($post->post_title),
'url' => get_permalink($post->ID),
'comment_count' => $post->comment_count,
);
}
echo $args['before_widget'] . $args['before_title'] . $args['title'] . $args['after_title'];
?>
<ol>
<?php
foreach ($popularPosts as $post) {
?>
<li>
<a href="<?php echo $post['url'];?>"><?php echo $post['title']; ?></a>
<?php
if ($displayComments) {
?>
(<?php echo $post['comment_count'] . ' ' . __('comments', BM_THEMENAME); ?>)
<?php
}
?>
</li>
<?php
}
?>
</ol>
<?php
echo $args['after_widget'];
}
}
?>

How To Create WordPress Widgets using wordpress api
Incoming search terms:
- how to create widgets in wordpress
- creating wordpress api
- how to carete widgets in wordpress
- how to create api wordpress
- how to create wordpress widget
- parent::wp_widget(false
- wordpress 3 2 create widget
- wordpress parent::wp_widget






I REALLY liked your post and blog! It took me a minute bit to find your site…but I bookmarked it. Would you mind if I posted a link back to your post?
I’ve been checking your blog for a while now, seems like everyday I learn something new
Thanks
Awesome post. I so good to see someone taking the time to share this information
Thanks for posting. Good to see that not everyone is using RSS feeds to build their blogs
Nice post! You truly have a wonderful way of writing which I find captivating! I will definitely be bookmarking you and returning to your blog. In fact, your post reminded me about a strange thing that happened to me the other day. I’ll tell you about that later…