最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

filters - wp_mail - Remove sitename from email subject

matteradmin7PV0评论

Can someone tell me how to remove site name from the email subject.

As of now my email subject looks like this:

[sitename] - Subject goes here

I want it to look like this:

Subject goes here

I checked the wp_mail() code. There is a wp_mail filter available.

Can someone tell me how to use that filter to alter my email subject?

Can someone tell me how to remove site name from the email subject.

As of now my email subject looks like this:

[sitename] - Subject goes here

I want it to look like this:

Subject goes here

I checked the wp_mail() code. There is a wp_mail filter available.

Can someone tell me how to use that filter to alter my email subject?

Share Improve this question edited Mar 28, 2019 at 12:55 butlerblog 5,1313 gold badges28 silver badges44 bronze badges asked Sep 30, 2013 at 23:06 PrivateUserPrivateUser 3,46910 gold badges54 silver badges85 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 7

Finally, I wrote some code and it worked very well.

I hope it helps.

Put this in your functions.php file

//remove sitename from email subject
add_filter('wp_mail', 'email_subject_remove_sitename');
function email_subject_remove_sitename($email) {
  $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
  $email['subject'] = str_replace("[".$blogname."] - ", "", $email['subject']);    
  $email['subject'] = str_replace("[".$blogname."]", "", $email['subject']);
  return $email;
}

That file didnt work for me I had to it in wp-includes/pluggable.php

if ( isset( $atts['message'] ) ) {
    //$message = $atts['message'];
    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
  $subject = str_replace("[".$blogname."] - ", "", $subject);    
  $subject = str_replace("[".$blogname."]", "", $subject);
}
Post a comment

comment list (0)

  1. No comments so far