WordPress Plugins

If you want something done right, you gotta do it yourself.

This is the index page of plugins Emily Ravenwood and Ken Irwin have written or written patches for.

Please understand that most of our plugin work is done to fix a specific problem on one of our own sites. These are provided as-is, without support or any guarantee of continued development. That said, we wanted to share the fruits of our problem-solving, and I do hang out on the Support forums now and then. If I see something I can help with, I'll lend a hand.

Written by Ravenwood and Irwin

Dialogue HTML Notifications

Requires at least: 2.7
Tested up to: 2.8
Download 1.0

Dialogue HTML Notifications sends html formatted email notification to the author when there is a new comment or trackback to a post. In addition to the usual comment and meta-information, the text replied to is included.

DHN is designed to work with 2.7 and later native threaded comments. It rewrites the existing post-author notification function so that email notification of new comments quotes the post (for top level comments) or the parent comment (for threaded comments) as well as the new comment.

Notifications preserve the standard information (commenter name, email, IP, url) and the standard links (delete, mark as spam, view entry), plus an extra (view comment thread). They are also html formatted for ease of reading.

Pingback/trackback notifications are formatted similarly, but they do not quote the post in question.

Note! Because any native function can only be rewritten once, DHN will not work if another plugin is also re-writing wp_notify_postauthor. In particular, DHN will not work if Spam Karma is running. Spam Karma can be hacked slightly to remove the conflict, but I do not really recommend this.

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel.

Thread Email Notification

Requires at least: 2.7
Tested up to: 2.8
Download 1.0

Thread Email Notification sends an email notification to the parent-comment author when a reply is made to a threaded comment.

TEN is designed to work with 2.7 and later native threaded comments. It allows comment-conversations to go on without commenters needing to subscribe to a post's rss feed or re-check the page frequently.

Both parent comment and new comment are quoted, and the notification is html formatted for ease of reading. A link to the comment thread is provided for ease of replying. Only the replier's name is disclosed; the email is sent from the WP default address and no other personal information is included.

If the parent comment is by the post author, TEN will not send a notification but leave that to the native author notification function, so as to prevent double notifications. (If you wish to have post-author notifications that quote both parent and new comment, try the Dialogue HTML Notifications plugin.)

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel.

Local User Avatars

Requires at least: 2.5
Tested up to: 2.8
Download 1.0

This is a plugin to load and display local user avatars (as opposed to an avatar from a central service like Gravatar) in WordPress. It allows registered users with Author or above capabilities to load an image of their choice to use as an avatar on a WordPress installation.

LUA works on top of the get_avatar() function native to 2.5 and later. Your theme must include get_avatar in the comments template in order for LUA to have an effect. In 2.7 and later, this is automatically included in the wp_list_comments function, and will not need to be added as long as your theme uses that function.

To add avatars to earlier versions, open the comments.php file of your theme and paste in <?php get_avatar(); ?> where you wish the avatars to appear.

LUA extracts the avatar size defined in your theme, if any. If none is defined, then avatar size is set to 80x80 pixels.

Warning! Like any file upload function, LUA is a potential security breach. To secure it as best as possible, the upload form cannot be accessed directly, it is set to accept only files with recognized image-type extensions and to be accessible only to users who have file uploading privileges (Author and above). This code can be altered to apply to Suscribers by changing 'upload_files' to 'read', but I do not recommend it unless you personally vet every subscriber and make sure they are a) human and b) trustworthy.

Note: If your theme uses get_avatar to produce post author avatars, this will also affect those. You may, in fact, wish to use this plugin for that purpose. To do so, make sure <?php get_avatar(); ?> is pasted into your theme next to the post author name in archive.php, index.php and single.php.

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel. Make sure avatars are enabled, in the Discussion panel.

Go to the Users admin panel and look for the Local Avatar submenu. This page will let you upload, change and delete your local avatar. Your local avatar will take effect immediately upon upload.

Also LJ Avatar

Requires at least: 2.5
Tested up to: 2.8
Download 2.3

This plugin fetches a default LJ-clone icon to use as a commenter's avatar. If a commenter has an LJ-clone account, commenting with username@service (janeuser@livejournal, for example) in the Name field will retrieve their default icon and cache it locally for future use. If they are logged in with OpenID, using an LJ-clone account, that will also work. If none of these is true, the native Gravatar function will go on as normal.

ALA works on top of the get_avatar() function native to 2.5 and later. Your theme must include get_avatar in the comments template in order for ALA to have an effect. In 2.7 and later, this is automatically included in the wp_list_comments function, and will not need to be added as long as your theme makes use of that function.

To add avatars to earlier versions, open the comments.php file of your theme and paste in <?php get_avatar(); ?> where you wish the avatars to appear.

You may wish to include a note, in your comments.php form, informing commenters that entering username@service as their Name will fetch their LJ-clone icon. (If they happen to use @service.com by reflex, this is not a problem, the plugin will still handle it.)

ALA extracts the avatar size defined in your theme, if any. If none is defined, then avatar size is set to 80x80 pixels.

This plugin is the rewrite of User Icons: LJ and Gravatar, which simply patched Tim Werner's Gravatar and Alexander Bishop's LJ icon-finding plugin. With the advent of a native gravatar function, OpenID, and the proliferation of LJ-clone services, we decided to rewrite this one almost completely. Only Bishop's LJ-icon-fetching code is still included.

Services currently recognized by this plugin are:

  • Livejournal
  • Insanejournal
  • Journalfen
  • Greatestjournal
  • Deadjournal

Note: If your theme uses get_avatar to produce post author avatars, this will also affect those. This should only happen if the author has entered their LJ-clone account url as the website in their profile.

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel. Make sure avatars are enabled, in the Discussion panel.

Admin Overlap Fix

Requires at least: 2.7
Tested up to: 2.8
Download 1.0

Admin Overlap Fix fixes the layout bug in 2.7, wherein setting your browser for any font size larger than 12px causes the top level admin menu items to overlap the page content.

AOF inserts a line of CSS into the admin header that rewrites the faulty line of original code. Your menu should then conform to the width of the longest item.

If you require a font size larger than 20px, it is possible that even this plugin will not be sufficient. If that is the case, you may wish to explore the possibilities of the Fluency admin layout plugin or, if you write CSS yourself, the Add Admin CSS plugin.

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel.

Folding Archives

Requires at least: 2.5
Tested up to: 2.8
Download 1.0

Folding Archives is a template page that will display your all blog's posts in a collapsed list by year, month and day.

FA is the answer to the problem of WP's inflexible archive display options. Each year and month can be expanded and collapsed to show the months and days underneath them, so your entire blog archives can be browsed on a single page that remains reasonably short.

FA should be used just the same as any archives.php template page.

Installation

Unzip archives.php.zip and place the file in your theme folder. The file is compatible with the Default theme, so you will probably want to customize it to your own theme.

To do so, open your theme's page.php. Copy everything except the comments at the top. In archives.php, starting on line 140, replace the code with what you copied from your page.php. Underneath the_content, add the code:

<ul>
<?php get_nested_allarchives(); ?>
</ul>

This is what creates the list. You may wish to paste your page.php code in above the existing code and then compare them before deleting the existing code.

If you have not done so already, go to your admin interface and make a new page (page, not post) with a suitable title and any text you wish to appear above your archive list. Select "Archives" from the template dropdown.

Your archive list will now appear among your pages.

Sleek Cats

Requires at least: 2.3
Tested up to: 2.8
Download 2.0

Sleek Cats replaces post categories with a breadcrumb-style hierarchical list that contains no repeats of parent categories.

The native WordPress function for listing categories comes with an option to show parent-child relations. This involves a lot of repetition, however, so that instead of just X > Y > Z it shows X, X > Y, and X > Y > Z.

Sleek Cats renders the hierarchical list as just X > Y > Z.

If you have placed the post in multiple top level categories, then they will all be shown, divided by a separator (X, T). If you place the post in hierarchical categories and another top level category, that category will be shown, divided from the hierarchical string by a separator (X > Y > Z, T). If you have placed a post in more than one child category under the same parent then Sleek Cats will display both strings (X > Y, X > Q). The default separator is a break tag.

SC will take effect anywhere the function the_category() is called, which is most likely to be in index.php, archive.php and single.php, depending on your theme.

Changing the Default Separator

By default, the separator between strings of categories is a line break. If you wish to use something different, open up sleek-cats.php and look on line 21, where it says: $sep = "<br/>";

Change <br/> to your prefered separator (a comma or a pipe or anything else you prefer). Make sure that any spacing you want is inside the quotes, for example ", " or " | ".

Installation

To install this plugin, unzip it and load it to your plugins folder, and activate it in the plugins management Admin panel.

Quick Comment

Requires at least: 2.3
Tested up to: 2.8
Download 1.4

This plugin generates a form to send a brief, set message, rather than an individual comment, in response to a post. It is designed for fiction archives, though it can be adapted for other uses. Each quick comment generates an email notification.

There is also an option to include a count of quick comments recieved in the post metainfo, in archive view, though this requires you to paste a short line (see readme.txt in the zipped folder) into archive.php.

Installation

To install this plugin, unzip it and load it to your plugins folder.

Place this code in comments.php where you wish the quick comment form to appear (e.g. just before or after the regular comment form:

<?php if (function_exists('quick_comment')) {
quick_comment();
} ?>

If you wish the quick comment count to be shown in archive view, place this code in archive.php, immediately above your comments link (comments_link or comments_popup_link):

<?php if (function_exists('quick_comment_count')) {
quick_comment_count();
echo ' | ';
} ?>

Activate the plugin in your Wordpress control panel.

If you wish to alter the message that is sent, go to line 91 of quick-comment.php; the email notification message is on line 139. The css that controls the appearance of the form, and success or failure notifications, is on lines 61-80.

Add Email Post-login

Requires at least: 2.5
Tested up to: 2.8
Download 1.0

This plugin was written as a companion for OpenID registration. Some sites that support OpenID also support Simple Registration, which passes on such information as email addresses, but some don't. LiveJournal, for instance, does not. Because I use threaded comments with emailed replies on most of my installations, I needed some fairly unobtrusive way to prompt OpenID LJ visitors to enter their email addresses. This plugin was the result.

If a user is logged in but does not have an email address entered, a form will come up just above the comment form, prompting them to enter an email. Once entered, the email is written to their profile and the form goes away.

This plugin needs to be unzipped and placed in the plugins folder. A brief section of code (see readme.txt in the zipped folder) needs to be placed in comments.php just before the comment form.

Patched by Ravenwood and Irwin

LJ Crossposter Plus

Requires at least: 2.5
Tested up to: 2.7
Download patched 2.0.5

This is a slightly altered version of Evan Broder's wonderful LJ Crossposter plugin. The plugin takes posts you make on WordPress and crossposts them on LJ, according to a variety of options you can set and alter individually. It's really a work of art.

This version is altered to increase it's options.

  • It works with another plugin, Scott Reilly's Hide or Cut plugin, which lets you hide or cut portions of a post. The original Crossposter takes WordPress's --more-- tag and replaces it with an lj-cut tag. This version, in addition, replaces Mr. Reilly's --cut-- tags with lj-cut tags.
  • It supports userpics (keyword only, no previews).
  • It allows categories to be crossposted either flat or hierarchical (eg pets, cats, dogs or pets, pets: cats, pets: dogs).
  • It also strips any commas from your categories, so they don't interfere with the lj tag listing.
  • It allows limitation of crossposting by date range or author.
  • It allows you to add a prefix or suffix to the post title (eg [crossposted]).
  • It adds on-off switches to all options, so that, eg, you can post with no header/footer at all, if you perfer.

This plugin works straight out of the box. Unzip the file, place it in your plugins folder and you're good to go.

LJXP Patches

Requires at least: WP 2.5, LJXP 2.0.5
Tested up to: WP 2.7
Download

This file contains several patches that can be added to the LJXP plugin. Adding these will require opening the LJXP php file and copying and pasting code into it. Directions are included in the comments of the file.

The current patches include:

  1. To prevent crossposting before or after a specified post. If you want only only posts before or after Entry X to be crossposted, use this.
  2. To prevent crossposting of multiple authors. If you have, for example, guest authors who should not be crossposted, this patch will limit crossposting the the admin's posts. It can be modified to specify another author, if desired.
  3. To strip commas from categories. Because LJ's tag separator is a comma, any category that has a comma in it will be broken in two when crossposted. This removes the commas.
  4. To make your categories crosspost in hierarchical form, so that parent and child categories turn into LJ tags in the form of "parent, parent:child" rather than "parent, child". If you use the hierarchical tag list hack, this will make your crossposting conform to that pattern.
  5. To make Hide or Cut Text cuts appear as LJ cuts when crossposted. This is the patch in the patched plugin above.