1

I need to disable this filter:

$message = apply_filters( 'woocommerce_mail_content', $this->style_inline( $message ) );

The style_inline() function exist in a class called WC_Email. So I tried:

remove_filter("woocommerce_mail_content", WC()->WC_Email->style_inline());

But it was a wild guess and it didn't work.

Link to the full apply_filters code: here

Link to the style_online() function: here

1
  • are you trying to remove the inline styles from the message?
    – birgire
    Commented Oct 23, 2016 at 19:08

1 Answer 1

1

Note that to remove a filter callback from the woocommerce_email_content filter, you first need to have it registered via:

add_filter( 'woocommerce_email_content', ...some-custom-callback... );

but it looks like you're trying to remove the inline styles from the message.

I guess you need the text/html content type, so try instead to override the styles with (untested):

add_filter( 'woocommerce_email_styles', '__return_null' );
2
  • What if i need to have a condition check to remove woocommerce_email_styles hook? Also i think it is not possible to have an add_filter inside function.
    – melvin
    Commented Mar 19, 2018 at 9:25
  • 1
    I guess it depends on how plugins are hooking into that filter. One could try to create a callback for the woocommerce_email_styles filter with high priority (e.g. 9999) and include the check there if null should be returned?
    – birgire
    Commented Mar 19, 2018 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.