在主题的文件夹下function.php文件中添加以下代码:
//邮件通知 /** * *@foemmail 1 * */ add_action( 'submitpost_box', 'fo_submit_box'); function fo_submit_box( ){ echo '<div id="fo_side-sortables" class="meta-box-sortables ui-sortable">'; echo '<div id="fo_submit_box" class="postbox ">'; echo '<div class="handlediv" title="点击以切换"><br /></div>'; echo '<h3 class="hndle"><span>邮件通知</span></h3>'; echo '<div class="inside"><div class="submitbox">'; echo ' <div><label class="selectit" title="慎用此功能,重要文章才勾选嘛,以免引起读者反感哈"><input type="checkbox" unchecked name="FO_emaill_report_user" value="true" title="勾选此项,将邮件通知博客所有评论者"/>邮件通知博客所有评论者</label></div>'; echo '</div></div>'; echo '</div>'; echo '</div>'; } /** * *@foemmail 2 * */ add_action( 'publish_post', 'fo_emaill_report_users' ); function fo_emaill_report_users($post_ID) { //如果未勾选保存远程图片,不进行任何操作 if($_POST['FO_emaill_report_user'] != 'true'){ return; } //修订版本不通知,以免滥用 if( wp_is_post_revision($post_ID) ){ return; } //获取wp数据操作类 global $wpdb; // 读数据库,获取所有用户的email $wp_user_emails = $wpdb->get_results("SELECT DISTINCT comment_author, comment_author_email FROM $wpdb->comments WHERE TRIM(comment_author_email) IS NOT NULL AND TRIM(comment_author_email) != ''"); // 获取博客名称 $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); // 获取博客URL $blogurl = get_bloginfo("siteurl"); //文章链接 $post_link = get_permalink($post_ID); //文章标题$post -> post_title $post_title = strip_tags($_POST['post_title']); //文章内容$post->post_content $post_content = strip_tags($_POST['post_content']); //文章摘要 $output = preg_replace('/^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,0}((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,200}).*/s','1',$post_content).'......'; //邮件头,以免乱码 $message_headers = "Content-Type: text/html; charset="utf-8"n"; // 邮件标题 $subject = '《'.$blogname.'》有新文章发表了,速来围观。'; foreach ( $wp_user_emails as $wp_user_email ) { // 邮件内容 $message = ' <div> <strong> 亲爱的'.$wp_user_email->comment_author.': </strong> <p> 您曾经来访过的博客《'.$blogname.'》有新文章发表了。 </p> <p> 文章标题:<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a> <br /> 文章摘要:'.$output.' </p> <p> 您可以点击链接 <a href="'.$blogurl.'">'.$blogname.'</a> > <a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a> 详细查看 </p> <p> <span> 来自: </span> <a href="'.$blogurl.'">'.$blogname.'</a> </p> <div> 该邮件为系统发送邮件,请勿直接回复!如有打扰,请向博主留言反映。灰常感谢您的阅读! </div> </div>'; wp_mail($wp_user_email->comment_author_email, $subject, $message, $message_headers); } }
保存后,在写文章页面右上角勾选勾选邮件通知博客所有评论者即可,需要配置好SMTP邮件发送。