How to display popular posts without plugin?
Posted by Chada on September 23, 2008 – 6:54 am
The same as “How to display random posts without plugin”, you can also display polular posts without plugin.
Copy codes below and paste to your theme:
< ?php function popular_posts($no_posts = 5, $before = '<li>', $after = '', $show_pass_post = false, $duration='') { global $wpdb; $request = "SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS 'comment_count' FROM $wpdb->posts, $wpdb->comments"; $request .= " WHERE comment_approved = '1' AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = 'publish'"; if(!$show_pass_post) $request .= " AND post_password =''"; if($duration !="") { $request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date "; } $request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts"; $posts = $wpdb->get_results($request); $output = ''; if ($posts) { foreach ($posts as $post) { $post_title = stripslashes($post->post_title); $comment_count = $post->comment_count; $permalink = get_permalink($post->ID); $output .= $before . '<a href="' . $permalink . '" title="' . $post_title.'">' . $post_title . '</a> (' . $comment_count.')' . $after; } } else { $output .= $before . "None found" . $after; } echo $output; } ?> < ?php most_popular_posts(); ?>
You can change the number of posts you want to show by change the “5″ in “$no_posts = 5″. Enjoy it!

October 21st, 2008 at 4:54 pm
wa!.i love this