Support » Plugin: BuddyPress Group Email Subscription » Digest emails not sent in WP Better Email template

  • Super useful plugin! I’m using the WP Better Emails plugin to style all emails sent from the site, which are not applied to digest emails. I saw in this thread that a fix would be coming in a new version, and I noticed in the changelog for 3.5 “Improved compatibility with the WP Better Emails plugin” – does that mean the digest emails should now be sent in the WP Better Emails template or do I need to do something to enable that?

    Buddypress 2.1.1
    WP Better Emails 0.2.7

    Thanks any help is much appreciated!

    https://wordpress.org/plugins/buddypress-group-email-subscription/

Viewing 9 replies - 1 through 9 (of 9 total)
  • I’ve just tried and I can’t see any change either. Daily and Weekly emails do not send using the WP Better Emails template, whereas the ‘All Email’ preference does. I agree with @jaymaz9mm, this really is a super useful plugin. Finding a fix for this would make it awesome!

    Did anyone find a fix for this problem?
    It would be important for mee too.

    Finally I found out the reason, why the daily and weekly digests are not wrapped by the WP Better Emails template, while the “All Activity” Reports are.
    It’s because the daily and weekly mails content type is set as HTML
    ‘$headers = array( ‘Content-type: text/html’ ); ‘

    I found this in 2 files
    bp-activity-subscription-digest.php and
    bp-activity-subscription-functions.php

    When you change that into text/plain – the wp better emails plugin works also with daily and weekly digests.

    Although core changes are my least prefered solution, it works at the moment. Maybe someone has a better solution without hacking the plugin-core. That would be great.

    Thanks for the trick, it would be interesting to work out with a action hook on this function : ass_send_multipart_email()
    I’m sure the developper could easily add a a hookable location for this action (do_action) in his next release 😉
    We have to be able to hook the function to modifiy the array value contained in the string ‘$headers’ …

    @blaubaerchen yep this worked for me – thank you. However I have numerous
    tags being inserted between blocks of content meaning the email is much too spaced out vertically. Is this something you found? Removing the odd
    tag in bp-activity-subscription-digest.php doesn’t help.

    Ah – it’s those pesty \n php line breaks!

    No need to hack the plugin files directly. There are filters which can do the amendments for you. The following code works for me:

    /**
     * Set content type to plain text so that WP Better Emails sends as HTML
     *
     * @param string $content_type The existing content type
     * @return string $content_type The modified content type
     */
    function myprefix_set_content_type( $content_type ) {
    	if ( $content_type = 'text/html' ) {
    		$content_type = 'text/plain';
    	}
    	return $content_type;
    }
    
    // WP Better Emails checks content type at priority 100, so filter just before
    add_filter( 'wp_mail_content_type', 'myprefix_set_content_type', 99 );
    
    /**
     * Unwrap the HTML message that BuddyPress Group Email Subscription wraps in
     * <html><body> tags. Also strip newline characters so it displays correctly.
     *
     * @param string $wrapped The existing wrapped content
     * @param string $message The existing un-wrapped content
     * @return string $message The un-wrapped content
     */
    function myprefix_strip_digest_message_html( $wrapped, $message ) {
    	return str_replace( "\n", '', $message );
    }
    
    // filter BP Group Email Notfications digest content
    add_filter( 'ass_digest_message_html', 'myprefix_strip_digest_message_html', 20, 2 );

    The question for me is… which plugin should be responsible for compatibility with the other?

    If you prefer the code wrapped in a simple plugin:

    https://gist.github.com/christianwach/c7a77ffd52f9ec2b21d9

    Thanks so much for the filter, i’ll have a try 😉
    The plain text version works great with SB Welcome Email and WP better Email to !
    +1

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Digest emails not sent in WP Better Email template’ is closed to new replies.