Seminar WordPress Stack

wordpress_pluginsIn setting up another CommentPress site for teaching this semester, I realized that I’ve evolved a set of plugins I like to use each semester, and it might be helpful to let others know about them. I’ll post later about how I use these.

There are lots of other things I would like to try, including BuddyPress, but this is a simple one-time site that works well for the seminar style of discussion.

For your stacking pleasure, here are the plugins currently on my course site, copy and pasted with their existing descriptions from my plug-in page, along with a short explanation in italics of why I have it installed. I’ve also left out Jetpack and the other plugins that are installed by default.

CommentPress Core

CommentPress allows readers to comment paragraph by paragraph in the margins of a text. You can use it to annotate, gloss, workshop, debate and more!

I’ve been using CommentPress for a while now. Others seem to like, but after being stung with an error early on, I largely abandoned it. I experimented with an install this semester before deciding to stay with CommentPress, which is even better with some recent improvements. I like being able to do my course readings and lectures as WordPress Pages, keeping the Posts for a running a course blog. (I usually change the default setup so that the blog goes back to the front page.)

Comment Rating

Allows visitors to rate comments in a Like vs. Dislike fashion with clickable images. Poorly-rated & highly-rated comments can be displayed differently. This plugin is simple and light-weight. Configure it at Settings → Comment Rating.

I wanted a way for students to indicate agreement or appreciation without posting “+1” or “I agree!”

Comment Reply Notification

When a reply is made to a comment the user has left on the blog, an e-mail shall be sent to the user to notify him of the reply. This will allow the users to follow up the comment and expand the conversation if desired. 评论回复通知插件, 当评论被回复时会email通知评论的作者.

So the major issue with CommentPress is that comments don’t show up in temporal order, and it’s hard to see if someone has commented on what you have said. The new “activity” tab helps, but I also want to make sure people can get bugged via email.

Email Users

Allows the site editors to send an e-mail to the blog users. Credits to Catalin Ionescu who gave me some ideas for the plugin and has made a similar plugin. Bug reports and corrections by Cyril Crua, Pokey and Mike Walsh.

I already have this function on my university system for students who are actually for-credit students, but since I like to open my classes, this lets me email everyone in the course.

My Page Order

My Page Order allows you to set the order of pages through a drag and drop interface. The default method of setting the order page by page is extremely clumsy, especially with a large number of pages.

Like it says… This makes it easier to arrange the order of pages into the order I want for the course.

Peter’s Login Redirect

Redirect users to different locations after logging in. Define a set of rules for specific users, user with specific roles, users with specific capabilities, and a blanket rule for all other users. This is all managed in Settings > Login/logout redirects.

As noted below, I make everyone using the site register. The downside of this, is that it forces them to the Dashboard. Especially for students unfamiliar with blogging, this can lead to rapid freaking out.

Registered Users Only

Redirects all non-logged in users to your login form. Make sure to disable registration if you want your blog truely private.

I don’t disable registration until a week or two after the semester begins. Everyone signs up for an account, and the blog is protected. I sometimes make fair use of copyrighted materials, but that doesn’t mean I want to republish to the entire world and get myself in hot water. So, we need to put a front door on things.

Subscribe to Comments Reloaded

Subscribe to Comments Reloaded is a robust plugin that enables commenters to sign up for e-mail notifications. It includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts or suspend all notifications.

Seem like overload with the above plugin for notifications? Yeah, it probably is. But I want participants to know when people want to talk.


Manages your WordPress database. Allows you to optimize database, repair database, backup database, restore database, delete backup database , drop/empty tables and run selected queries. Supports automatic scheduling of backing up, optimizing and repairing of database.

Unless you are lucky enough to have your campus IT folks backing you up, disaster is on your plate. You think it’s bad when your blog goes down? Imagine what happens when your class explodes. I back up the file system, then have this email me a copy of DB so that I won’t lose comments, etc., in case of a complete meltdown/lost host/hacked site/alien invasion/etc.


Enable you to display how many users are online on your WordPress site.

As I said, I want to build in more in the way of awareness. That probably means bringing in BuddyPress, and the variety of plugins that allows. For now, this just lets users know that they are not on the site alone. (Though they often are.)

Comment Leaderboard

I haven’t bothered to wrap the below snippet into a plug-in, since I didn’t expect a lot of people would need it. For now, if you are interested, you can drop it right into the top of your Theme Functions (functions.php):

This creates a new widget on the dashboard that lists all the users on the site, along with the number of comments they have made, the total upvotes the user has received, and the score of their highest upvoted comment.

function wpmods_dashboard_widget() {
  global $wpdb;
  $where = 'WHERE comment_approved = 1 AND user_id <> 0';
  $comment_counts = (array) $wpdb->get_results("
    SELECT user_id, COUNT( * ) AS total, 
    SUM(comment_karma) AS karmasum, 
    MAX(comment_karma) AS karmamax
    FROM {$wpdb->comments}
    GROUP BY user_id
    ", object);
  echo '<table><tr>
        <td>Total Comments</td>
        <td>Total Karma</td>
        <td>Peak Karma</td></tr>';
  foreach ( $comment_counts as $count ) {
    $user = get_userdata($count->user_id);
    echo '<tr><td>' . $user->display_name . 
     '</td><td align="center">' . $count->total . 
     '</td><td align="center">' . $count->karmasum . 
     '</td><td align="center">' . $count->karmamax.
  echo '';

function wpmods_add_dashboard_widget() {
    'Comment Count', 
    'wpmods_dashboard_widget' );

  'wpmods_add_dashboard_widget' );

Let me know if there is another plug-in I should try!

This entry was posted in General. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>