A few months ago, I wanted to display a list of recent comments in my blog’s sidebar. After searching through the countless plugins which return lists of comments, I finally decided on Scott Reilly’s Top/Recent Commenters plug-in.
Unfortunately, I had to tweak Scott’s code to get it to work the way I wanted. One tweak led to another (you know how it is) until I finally just scrapped the original code and rolled my own. (You can see it in action on my blog’s front page.)
What It Does
Adds template function:
rr_recent_comments ($num_recent_posts = 5, $before = '<li>', $after = '</li>')
rr_recent_comments() returns a list of recent comments.
When invoked with no parameters, it returns a list of the latest comment from each of the most recent 5 posts. Only one comment (the most recent one) per post is listed.
By default, any comments made by the author of the post are not included in the list. (This behaviour can be configurably modified.) Long post titles are truncated to a length which you can configure. Trackbacks and pingbacks are not included in the list by default.
You can exlcude certain posters, based on various criteria (author email, author name, etc.). This is helpful, for example, to exclude yourself from the list.
How to Install It
- Requirements: WordPress 1.5 or greater (verified to work on 1.5.2, 2.0, 2.0.1, 2.2, 2.2.2, 2.2.3, 2.3.2, 2.3.3, 2.5.1, 2.6.0, 2.6.1, 2.7, 2.8.x, 2.9.1, 2.9.2)
- Download the plugin file, and put it file in your WordPress plugin directory,
wp-content/plugins. (Make sure to name it
- Enable the plugin in the WordPress Plugin Admin panel.
How to Use It
Just insert the following call into your theme files, wherever you want the comment list to appear (e.g.,
<ul class='recent_comments'> <?php echo rr_recent_comments(); ?> </ul>
You can customize your list two ways: tag parameters and global config options.
rr_recent_comments() takes three parameters, all of which are optional.
The [maximum] number of comments to display.
The text to display before each comment.
The text to display after each comment.
The behaviour of
rr_recent_comments() can be customized on a global basis by editing some values in the plugin file,
rr_recent_comments.php. With the possible exception of
$max_title_length, most installations will probably not need to futz with these, but they’re there if you want ’em.
This value represents the longest length that a post title may be without it being truncated for display. Titles longer than this will be indiscriminately chopped, and an ellipses will be appended to them. Set to 0 to disable truncation altogether (not recommended).
Set to true to exclude an author’s comments from his/her own posts. Set to false to include them.
Set to true to hyperlink the comment author’s name to the website they enter on your comment form. Set to false to suppress hyperlinking.
If true, trackbacks and pingbacks are excluded from the comment list. Set to false to include them.
$excludes_sql_list(Default: no exclusions)
These two fields work in conjunction to allow you to specify a list of comments whose comments should never be included in the list. (Note that most blog installation will not need to use this functionality.) First, choose the criterion by which you want to identify the excluded comments and set
$identify_authors_byto one of:
Then add the excluded commenters to the list
$excludes_sql_list; be careful to follow the correct format, which is:
('COMMENTER_1', 'COMMENTER_2', ..., 'COMMENTER_N').
You must specify the COMMENTERs in a way that matches the value of
$identify_authors_by. I.e., if
'comment_author_email', then the COMMENTERs in
$excludes_sql_listmust all be email addresses.
0.1 (May 1, 2005): Initial revision.
0.2 (October 30, 2005): Rewrite and add new features.
0.3 (November 11, 2005): Clean up for publication.
0.5 (April 4, 2007): Added $link_to_commenters_websites option.
See It Live
Here are some of the sites which are using Recent Love (as of the time of this writing):
Important Disclaimers and Such
- You may freely use and distribute this code as long as you include the appropriate copyright notice.
- If anything bad happens as a result of your using this code, don’t come crying to me. If anything good happens as a result of your using this code, send me some chocolate.
Copyright © 2005-2007 by Ron Rothman and «leftbraned. Some rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.