HTML Emails Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Converts the default plain-text email notifications into fully customizable, sweet-lookin’ HTML emails.
Multi-site support (for WordPress 3.0) will be added soon.
Notes:
- Emails are sent with readable plain-text versions for email clients that don’t support HTML emails. Note: they’re somewhat crude because they’re auto-generated. I may decide to add decent-looking plain-text versions in the future, but that’s low priority.
- Emails have only been tested on Gmail, Gmail on Android, and Outlook, but should work on most email clients (including clients without HTML support). If you’re using a client other than the 3 I’ve listed, I would appreciate an email with info on whether the email looks like it should and works correctly.
Send your questions, comments, suggestions via email.
Customizing Templates
You can fully customize the look of any of the emails by creating your own templates. Emails have two pieces:
- Email Wrapper (content common across all emails)
- Email Message (content unique to each email)
Custom templates can be created an placed in either your theme directory or your Content directory (/wp-content/ on most sites). See utils.php for a number of useful functions that you can use in your templates.
Email Wrapper
The Email Wrapper includes elements and markup that are common across all email notifications. It contains your html, head and body tags and any other elements that are shared across emails.
To customize the email template, create a file called html_email.php
and add it to either your theme or content directory.
Note: you must include the following code in the template to work:
<?php htmlize_message_body($email_templates, $email_data); ?>
The Email Wrapper has access to the following variables:
- $email_title: (string) title of the email
- $email_subtitle: (string) subtitle of the email
- $email_data: (array) Associative array of various data passed by the calling function
Email Message: New Comment
By default, new comment and comment moderation emails share the same template. You can create separate templates for both for each comment type by creating the following files:
notify_postauthor_comment.php
notify_postauthor_trackback.php
notify_postauthor_pingback.php
notify_moderator_comment.php
notify_moderator_trackback.php
notify_moderator_pingback.php
If you don’t want to customize the emails by comment type, just create the following two templates:
notify_postauthor.php
notify_moderator.php
If you just want a custom template shared between the two notification types, just create the following:
notify_comment.php
New Comment email messages have the following data variables available:
- $comment – (obj) comment object
- $post – (obj) post object
- $comment_type – (string) slug for the comment_type
- $comment_type_text – (string) friendly name for the comment_type
- $comment_moderate – (bool) Whether the comment needs moderation or not
Using HTML Emails in your plugin
It’s pretty easy to use. The main call you need to make is htmlize_message() and pass the return into your wp_mail object. Details to come.
Credits
- Blockquote image borrowed from the amazing Wu Wei theme by Jeff Ngan
- Plain Text conversion script by Jon Abernathy aka Chuggnutt
- Email styling inspired by WordPress.com Blog Subscription Notifications