My WordPress plugins

Tacky plug and socket costumesI’d started writing a post about which WordPress plugins I’m using right after I got things up and running here, but decided to put it off because my plugin list was changing regularly. Things have settled down, though, and bunnyhero asked what plugins I was using, so now seems like a good time!

Feel free to comment if you’ve got any questions about them or if you think I’m missing a plugin I’d find useful.

List below the cut, for they are legion.
I’ve tried to divide them up into categories, but there’s still a lot of overlap.

Usability and appearance

  • Breadcrumb: Provides the breadcrumb navigation links at the top of my static pages (example).
  • Get Comments Count Image: Provides the (3 comments) image you see at the bottom of my posts when you read them on LiveJournal. Since the image is loaded from here, it’s always up-to-date without having to edit the content of the LiveJournal post.
  • Gravatars2: The little avatar/userpic/icon thingies beside people’s names on the comments. (You can set up your own here, by the way.) This gravatar plugin caches them locally and generally does the Right Thing.
  • Subscribe to Comments: Lets readers get comments on individual posts by email.
  • PXS Mail Form: The mail form I’m using on my “contact me” page.
  • Unsleepable theme: Not really a plugin, but might as well give credit. I’ve modified the theme a bit here and there.

Sidebar Widgets

  • Sidebar Widgets: This plugin lets me configure the contents of the sidebar in a drag-and-drop admin panel and provides some basic components to include. Everything else in this section requires Widgets.
  • Category Replacement: Provides the drop-down categories box instead of a giant list of links.
  • Drop-Down Archives: Same deal but for the archives.
  • Drop-Down Links: Same deal for links. I don’t use this one, but I figured I’d link to it here for completeness.
  • Feeds Widget: Sidebar links to relevant RSS feeds.
  • JAW Duplicate Widgets: Lets me use one widget in more than one sidebar. I’ve changed the theme to use different sidebars on all of the different page types (front page, single post, archive, and static page), so if I want to put, say, categories or archives on all of them, I need this.
  • Subpages Widget: In the static pages section, provides a list of pages below the current page in my page hierarchy, and a list of pages at the same level as the current page. Visible here.


  • Admin Drop Menus: Turns the menu-ish links in the admin panel to actual menus, saving one click for every admin page I need to go to. Such a little thing, such a big difference it makes.
  • LJXP: Crossposts my posts to LiveJournal, and updates posts there when I make changes here.
  • LiveJournal Importer: I used this to import all of my old LiveJournal posts and comments as archived by ljarchive. I recall having to make some changes to this to make it work with WordPress 2.1, so be careful if you plan on doing the same thing I did. The default LiveJournal importer doesn’t import comments.
  • Rodney’s 404 Handler: Since WordPress’s permalinks feature requires that it handle all requests that don’t map to specific files, Apache can’t handle 404s itself. WordPress’s own handling doesn’t provide any feedback, so this takes care of writing to the webserver’s error log instead.
  • WP-Cache: Improved page caching for WordPress. Since WordPress generates pages on the fly, caching them means a lot less load on the server and database, especially when a search engine robot swings by.
  • Replacement dashboard: Not a plugin but a replacement php file, this gets rid of the WordPress News “feature” on the default WordPress admin dashboard and instead provides a list of drafts and other information more useful to the blog owner.

Integration with other sites

Antispam Plugins

  • Bad Behavior: Blocks comment spammers by analyzing the way their HTTP client interacts with the site. Very effective so far, with zero false positives.
  • Akismet: Blocks comment spammers by testing the content of their comments against a remotely-maintained database. Also very effective, but a surprising handful of false positives.
  • SpamKarma2: Currently not activated yet, but this one blocks comment spammers by testing their comments against built-in rules and heuristics. So far I don’t think I need it, and I don’t want to have to tweak the weight of all the rules if I don’t have to.

There were also a handful of plugins that I tried but didn’t end up using. Of those, here are the ones that are worth mentioning:

  • Tiger Dashboard: A complete reskinning of the admin panel, influenced by OS X. The usability advantage of the drop-down menus plugin trumped the aesthetic improvement this provided.
  • Brian’s Threaded Comments: At first I wanted threaded comments because LiveJournal had them, but it turned out to be a bit tricky to integrate with this theme. When the LiveJournal importer imported all of my old LiveJournal comments without any threading, though, I decided this wasn’t worth using right now.
  • Extended Live Archives: Promising advanced archives plugin that I haven’t yet had time to play around with.
  • Live: Lets you view live hits, like diggspy. Doesn’t work with wp-cache, because it doesn’t see the hits against cached pages.
  • Live+Press: Provides a bunch of LiveJournal features, including currents and lj-user tags. Decided I just didn’t need it.
  • Ultimate Tag Warrior: The tags plugin of tags plugins. Had a bit of a learning curve and I decided to investigate it later.

Whew, that’s a lot of plugins.

12 responses to “My WordPress plugins”

  1. I see you don’t deny being a Christina Aguilera fan, just that you’re not that much of one.

  2. I can take or leave Top 40 stuff — I wouldn’t turn it off if it was playing but I wouldn’t go out and seek it either.

  3. How did you get the comment count image plugin working correctly with LJXP? When I post, the image looks right on the RSS feeds, but on LJ it shows “-1 comments” because it doesn’t have the right URL. Did you have to do anything to make that work?

  4. Oh, yeah, I did — see my comments to pisceandreamer on this post. (That also takes it off of the RSS feeds, but that was fine for me because I use Feedburner’s comment count thing there instead.)

  5. I figured out the “post_id” thing myself independantly, but one thing you might be interested in – I also modified the get-comments.php so that it doesn’t put out the comment if it doesn’t have a valid id, which fixed the double comment tag in lj and allowed it to appear elsewhere:

    function addNumCommentsImage($content = '') {
    global $id;
    if ($id == '')
    return $content;
    $img =
    '<div class="tantan-getcomments"><a href="'.get_permalink($id).'#comments" rel="nofollow"><img src="'.
    '" width="100" height="15" /></a>';
    return $content . $img;

    BTW: I still have that problem where I can click on submit on my Powerbook, but I can’t with Linux.

  6. Not sure what you mean about a double comment tag — or do you mean in the feed vs. on LJ?

    As for the submit thing, I just haven’t had time to look into it yet, not that I know the first thing about Ajax to fix it when I do!

  7. […] part of this migration, I am writing my blog posts over at netninja (using methods that I blatantly stole from Rich.) Don’t worry.  Everything I post at netninja is automatically mirrored at LJ, and I […]