我可能会用一种wp_mail
筛选以在发送这些消息之前捕获它们。在我看来,这是最简单的方法。
您可以创建一个筛选功能来筛选电子邮件内容,并使用这些电子邮件特有的关键元素。我的示例只针对正文中包含的“对您的帖子发表新评论”,尽管您可能希望微调并使用其他文本。
我们还将比较邮件的电子邮件地址。我将使用db中存储的地址作为站点的管理电子邮件。如果您有不同的地址,则需要更改此地址。
add_filter( \'wp_mail\', \'my_wp_mail_filter\' );
function my_wp_mail_filter( $args ) {
// Get the site admin email.
$admin_email = get_option( \'admin_email\' );
// What string are we looking for in the body?
$needle = "New comment on your post";
// Is this a new comment notification email?
// Check for "New comment on your post" in body of message.
if ( strpos( $args[\'message\'], $needle ) ) {
// If this is a new comment notification, who is it going to?
// Check to see if the "to" address is not the admin.
if ( $args[\'to\'] != $admin_email ) {
// This message is going to someone OTHER THAN the admin.
// Return an empty array (dump all content, so email fails).
return array();
}
}
// Otherwise return unfiltered (so process can continue).
return $args;
}