La réponse au commentaire WordPress n'envoie pas d'e-mail ?Message Commentaire Notification par e-mail Code de plugin gratuit

Que faire si ma réponse aux commentaires WordPress n'envoie pas d'e-mail ?

Message Commentaire Notification par e-mail Code de plugin gratuit

La plupart des acteurs du commerce électronique transfrontalier utilisent WordPress pour créer des sites web et promouvoir leurs activités en ligne , ce qui peut entraîner des situations où ils ne reçoivent pas de notifications de réponse aux commentaires et aux messages.

Si tel est le cas, vous pouvez utiliser du code, sans plug-in, pour résoudre le problème de la notification par e-mail de réponse aux commentaires des messages WordPress.

Ajoutez le code suivant au fichier functions.php de votre thème WP :

/**
* 评论回复邮件通知 By 陈沩亮
* 文章地址:https://www.chenweiliang.com/cwl-636.html
**/
 function cwl_comment_mail_notify($comment_id) {
     $comment = get_comment($comment_id);//根据id获取这条评论相关数据
     $content=$comment->comment_content;
     //对评论内容进行匹配
     $match_count=preg_match_all('/<a href="#comment-([0-9]+)?" rel="nofollow">/si',$content,$matchs);
     if($match_count>0){//如果匹配到了
         foreach($matchs[1] as $parent_id){//对每个子匹配都进行邮件发送操作
             SimPaled_send_email($parent_id,$comment);
         }
     }elseif($comment->comment_parent!='0'){//以防万一,有人故意删了@回复,还可以通过查找父级评论id来确定邮件发送对象
         $parent_id=$comment->comment_parent;
         SimPaled_send_email($parent_id,$comment);
     }else return;
 }
 add_action('comment_post', 'cwl_comment_mail_notify');
 function SimPaled_send_email($parent_id,$comment){//发送邮件的函数 by www.chenweliang.com
     $admin_email = get_bloginfo ('admin_email');//管理员邮箱
     $parent_comment=get_comment($parent_id);//获取被回复人(或叫父级评论)相关信息
     $author_email=$comment->comment_author_email;//评论人邮箱
     $to = trim($parent_comment->comment_author_email);//被回复人邮箱
     $spam_confirmed = $comment->comment_approved;
     if ($spam_confirmed != 'spam' && $to != $admin_email && $to != $author_email) {
         $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 发出点, no-reply 可改为可用的 e-mail.
         $subject = '你在 [' . get_option("blogname") . '] 的留言有了回应';
         $message = '<div style="background-color:#eef2fa;border:1px solid #d8e3e8;color:#111;padding:0 15px;-moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px;">
             <p>' . trim(get_comment($parent_id)->comment_author) . ', 你好!</p>
             <p>你曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
             . trim(get_comment($parent_id)->comment_content) . '</p>
             <p>' . trim($comment->comment_author) . ' 给你的回复:<br />'
             . trim($comment->comment_content) . '<br /></p>
             <p>你可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id,array("type" => "all"))) . '">查看回复的完整內容</a></p>
             <p>欢迎再度光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
             <p>(此邮件由系统自动发出, 请勿回复)</p></div>';
         $from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
         $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
         wp_mail( $to, $subject, $message, $headers );
     }
 }

J'espère que l'article « Que faire si les réponses aux commentaires WordPress n'envoient pas d'e-mails ? Code sans plugin pour les notifications par e-mail des commentaires » partagé sur le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) vous sera utile.

N'hésitez pas à partager le lien de cet article : https://www.chenweiliang.com/cwl-636.html

Pour débloquer plus d'astuces cachées🔑, bienvenue sur notre chaîne Telegram !

Partagez et likez si vous aimez ! Vos partages et vos likes sont notre motivation continue !

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Remonter en haut