Newsletter Glue offers 2 hooks that give you access to customize the content of email. They only work in the email context (so the regular post content will not be affected)
The hooks are:
$the_content = apply_filters( 'newsletterglue_email_content_header', $the_content, $app, $post );
$the_content = apply_filters( 'newsletterglue_email_content_footer', $the_content, $app, $post );
The first parameter is the email content, much like the_content filter. Second parameter passed the $app (Which is current ESP – e.g. mailchimp, mailerlite) and Last parameter passed the $post object. Here is a very quick usage example.
function newsletter_top( $content, $app, $post ) {
$content .= 'HEADER';
return $content;
}
add_filter( 'newsletterglue_email_content_header', 'newsletter_top', 10, 3 );
function newsletter_bottom( $content, $app, $post ) {
$content .= 'FOOTER';
return $content;
}
add_filter( 'newsletterglue_email_content_footer', 'newsletter_bottom', 10, 3 );
That would insert very simple words, but ofcourse you can put any custom content there.
Important note: For email compatibility and ensuring that your custom content will be rendered correctly across various clients, please use tables markup to add custom content.
Example:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td>My custom content here</td></tr></table>
These hooks do not run in the blog post content (Only in email/email preview)
You can also target content for a specific ESP. By using conditional logic combined with $app to check if the email is processed to Mailchimp for example, and add specific content only if the ESP matches.
function newsletter_bottom( $content, $app, $post ) {
if ( $app === 'mailchimp' ) {
$content .= 'I am sending this to Mailchimp only!!';
}
return $content;
}
add_filter( 'newsletterglue_email_content_footer', 'newsletter_bottom', 10, 3 );