本文实例讲述了wordpress实现回复文章评论后发送邮件通知的功能。分享给大家供大家参考,具体如下:
很多时候,人们都希望在自己的评论被管理员回复后会收到通知。该函数的作用就是回复后自动邮件通知评论者。
把下面的代码加到wordpress的主题函数里面,然后修改下邮件帐号密码。
该函数是针对SAE平台的wordpress,非SAE平台不能使用,有需要的话留言我也会写出相应方法。
comment_author_email); $parent_id = $comment->comment_parent ? $comment->comment_parent : ''; global $wpdb; if ($wpdb->query("Describe {$wpdb->comments} comment_mail_notify") == '') $wpdb->query("ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;"); if (($comment_author_email != $admin_email && isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email && $admin_notify == '1')) $wpdb->query("UPDATE {$wpdb->comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'"); $notify = $parent_id ? '1' : '0'; $spam_confirmed = $comment->comment_approved; if ($parent_id != '' && $spam_confirmed != 'spam' && $notify == '1') { $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); $to = trim(get_comment($parent_id)->comment_author_email); $subject = '你在' . get_option("blogname") . '回复被关注啦~'; $message = ''; $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; $mail = new SAEMail(); //对象 $mail->setOpt(array( 'from' => 'admin@xtwind.com', 'to' => trim($to),//接收信箱 'smtp_host' => MAIL_SMTP , //host 'smtp_port' => MAIL_PORT, //port 'smtp_username' => MAIL_SENDEMAIL, 'smtp_password' => MAIL_PASSWORD, 'subject' => $subject, 'content' => $message, 'content_type' => 'HTML' // 'tls' => true, //'charset' => 'gbk' ) ); $ret = $mail->send(); } } add_action('comment_post', 'comment_mail_notify');
希望本文所述对大家基于wordpress的网站建设有所帮助。