Support » Plugin: BuddyPress Group Email Subscription » Changing CSS

  • Hello,

    I love this plugin and am using it with BuddyBoss (fork of BuddyBoss).

    However, I would like to edit the CSS. I tried going to the email template and adding inline CSS to the blockquote, but it gets ignored when an email comes.

    Is there a way to change the CSS for the blockquote? I want to change the background color, font, and border…

    Thanks!

Viewing 15 replies - 1 through 15 (of 16 total)
  • Plugin Author Boone Gorges

    (@boonebgorges)

    Hi @joshgrisdale

    The details depend on the email you’re talking about.

    In the case of digest emails, there’s a filter that allows you to customize the CSS: https://github.com/boonebgorges/buddypress-group-email-subscription/blob/4b15ebeccd2fbff22e3ebb602da5ae1781c0cee7/bp-activity-subscription-digest.php#L950

    In the case of immediate emails, you may have to do something to the templates themselves. Inline CSS on the blockquote attribute is what I would’ve suggested, so perhaps you didn’t use the right syntax or perhaps !important is required? Email styling is hard, in part because it differs across clients. Can you share details about exactly what you did?

    Hello,

    Thank you for the reply and info about the digest email.
    Is there a reason there is no filter for immediate emails?

    Here is what I did for the immediate email:
    https://prnt.sc/tgnyep
    (sorry, posting the code went crazy)

    But it was ignored.

    As a side-note, would be great if you made an official BuddyBoss version as well.

    Dear @boonebgorges,

    how would I use the filter you mentioned above to style the css for the digest emails? I’m fine doing the css styling, but where do I put it and how do I call it without changing the code directly?

    Kind regards, Philip

    Plugin Author Boone Gorges

    (@boonebgorges)

    > Is there a reason there is no filter for immediate emails?

    Only historical reasons. I’ll think about this.

    > how would I use the filter you mentioned above to style the css for the digest emails? I’m fine doing the css styling, but where do I put it and how do I call it without changing the code directly?

    Something like this:

    
    add_filter(
      'ass_email_css',
      function( $css ) {
        $css['title'] = 'style="font-size:150%; margin:10px 0 25px 0;"';
    
        return $css;
      }
    );
    
    Strothi

    (@strothi)

    Dear @boonebgorges,

    thanks for the code. Unfortunately, it only works partially, as in, most of the CSS is not called on. I was hoping to resolve the issue I had mentioned here before: https://wordpress.org/support/topic/digest-email-format/ but haven’t been able to do so yet.

    Essentially, the items “title”, “change_email” work fine in the weekly digest and I can target them via your snippet and adjust the CSS, but for the rest I can’t seem to affect any change, even when using !important.

    You can also see in the browser-preview by using ?sum=1 that even your standard CSS e.g. for class=”digest-item-content” – which should be ‘item-content’ is not reflected in the code.

    So unless I’m missing something seems to be that the inline css is not being included and thus can also not be altered through overruling.

    Would be great if you could look into this! As always, your support is highly appreciated!!!

    Kind regards, Philip

    Plugin Author Boone Gorges

    (@boonebgorges)

    It’s possible that your CSS overrides are not working properly because you’re not targeting the correct element. Note that the styling in emails is not printed in the manner of a stylesheet, where !important is necessary to indicate priority in the cascade. Instead, it’s all printed inline, as part of a style attribute in the DOM. So when you say “most of the CSS is not called on”, I’m guessing that you are not strictly correct – styles that are entered correctly are probably being recognized by the email client. But it might be that you’re targeting the wrong element, or it could be that the specific element you’re trying to style is not being targeted by BPGES. See https://github.com/boonebgorges/buddypress-group-email-subscription/blob/4b15ebeccd2fbff22e3ebb602da5ae1781c0cee7/bp-activity-subscription-digest.php#L920 for a comprehensive list of the elements in a digest email that are currently styleable.

    In the latter case, the plugin might need to be modified in order to allow for customized styling. But if this is true, I would need a very specific account in order to help. Am I correct that the specific issue you’re trying to resolve is the one demonstrated by the screenshot in the dropbox link here? https://wordpress.org/support/topic/digest-email-format/ Specifically, that there is no line break after the date and before the email content? See also https://github.com/boonebgorges/buddypress-group-email-subscription/issues/166. I’ve just investigated for a moment and I don’t believe that that specific issue is due to the style param, but in any case we can continue the conversation on the GitHub ticket.

    Strothi

    (@strothi)

    Dear @boonebgorges,

    thanks for the quick reply. So here’s what I did: I essentially copied your css from the list of elements you highlighted in your code and then tested it by modifying some existing parameters. To give you an example for:

    $ass_email_css['item_content'] = 'style="color:#333;"';

    If I now go and add to bp-customs:

    add_filter(
      'ass_email_css',
      function( $css ) {
        $css['item_content'] = 'style="color:#34732d;"';
    
        return $css;
      }
    );

    Nothing changes. And as I said previously, because I’m testing the code via your preview function, it’s not related to any email client because there is also no inline-css for the element if I use the code-inspector for the ?sum=1 preview.

    My main issue is the line break to which you replied in the other threat, but I wanted to mention that some of the other elements in the list – that should be reflected in the inline-css do not appear as such in the code!

    Kind regards, Philip

    Plugin Author Boone Gorges

    (@boonebgorges)

    Hm, not sure. The following is working for me on a test installation (in bp-custom.php):

    
    
    add_filter(
    	'ass_email_css',
    	function( $css ) {
    		$css['item_content'] = 'style="color:#f00;"';
    		return $css;
    	}
    );
    
    

    The style attributes are in the DOM when I view the preview at ?sum=1.

    Strothi

    (@strothi)

    Ok, that’s truly weird. I literally copied your code into my test environments bp-customs and it did not do anything. You can see it yourself here: https://www.evernote.com/l/AAJ9YPAVE4xE5bT-P1KxkDjFUEPAOmYogBkB/image.png

    I could given you access to my test install, if you’d like to investigate further?

    Kind regards, Philip

    josh.grisdale

    (@joshgrisdale)

    @boonebgorges

    Can the code be put in the regular functions.php file? I don’t think BuddyBoss has bp-functions.php…

    Plugin Author Boone Gorges

    (@boonebgorges)

    It’s possible that BuddyBoss does not support wp-content/plugins/bp-custom.php. functions.php should work, assuming that the BuddyBoss theme works like a normal WP theme.

    josh.grisdale

    (@joshgrisdale)

    Hi @boonebgorges

    Until there is an option to change it in settings, is it possible to hardcoding a change?

    Is it line 949 of bp-activity-subscription-functions.php?

    By the way, here is what the theme’s emails (forums, messages, etc) look like:
    https://prnt.sc/tlnod0

    Here is what group notifications emails look like:
    https://prnt.sc/tlnmzu

    Thanks

    Plugin Author Boone Gorges

    (@boonebgorges)

    @joshgrisdale Thanks for the screenshots.

    First, the email you’ve shown me is not related to digests, and my comments above are specific to digests. (HTML-formatted digests precede the BP HTML system, so they work a bit differently.)

    Are you also using the BuddyBoss theme? The specific formatting of https://prnt.sc/tlnod0 suggests that there are some formatting tricks happening beyond what BuddyPress normally does. It could be that BuddyBoss intervenes in the email process and reformats outgoing emails, but that they don’t have explicit support built in for BPGES emails. If this is the case, there’s not much I can do – BuddyBoss is a proprietary piece of software.

    That said, you could try editing the email template in one of two ways:
    1. At Dashboard > Emails, click on the BPGES email in question (A member created a group activity entry. Used by the Group Email Subscription plugin during immediate sendouts.) and once editing, select ‘Text’ view in the editor. You may then be able to add inline style attributes, or wrap elements in span tags that have style attributes.
    2. Override the email template in your theme. BP Nouveau’s email template is at buddypres/bp-templates/bp-nouveau/buddypress/assets/emails/single-bp-email.php. It has a small stylesheet, as well as some inline styles. BuddyBoss may have its own version of this. You could modify or – assuming BuddyBoss supports it – override in your own child theme, and make modifications as necessary.

    josh.grisdale

    (@joshgrisdale)

    @boonebgorges

    Sorry, yes I realize I was coming back to instant emails.

    Looking at the BuddyBoss Platform Plugin (open-source part), the email template is identical to BuddyPress, but found in

    plugins/buddyboss-platform/bp-templates/bp-nouveau/buddypress/assets/emails/single-bp-email.php

    The styling for blockquote in the template matches what I was seeing in the delivered emails.

    I will override it and change the CSS for blockquote for now.

    The message is getting inserted into a formatted table in BuddyBoss but usermessage isn’t…

    Thank you for everything.

    If you change something in the future, please let me know.

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘Changing CSS’ is closed to new replies.