WordPress发布新文章邮件通知所有用户代码


直接在主题的文件夹下的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 style="padding: 10px 10px 0;text-align: left;"><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 style="MARGIN-RIGHT: auto; MARGIN-LEFT: auto;"> <strong style="line-height: 1.5; font-family:Microsoft YaHei;"> 亲爱的'.$wp_user_email->comment_author.': </strong> <p style="FONT-SIZE: 14px; PADDING-TOP: 6px"> 您曾经来访过的博客《'.$blogname.'》有新文章发表了。 </p> <p style="FONT-SIZE: 14px; PADDING-TOP: 6px"> 文章标题:<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a> <br /> 您可以点击链接 <a href="'.$blogurl.'" style="line-height: 1.5;">'.$blogname.'</a> > <a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a> 详细查看 </p> <p style="font-size: 14px; padding-top: 6px; text-align: left;"> <span style="line-height: 1.5; color: rgb(153, 153, 153);"> 来自: </span> <a href="'.$blogurl.'" style="line-height: 1.5;">'.$blogname.'</a> </p> <div style="font-size: 12px; border-top-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: solid; height: 35px; width: 500px; color: rgb(102, 102, 102); line-height: 35px; background-color: rgb(245, 245, 245);"> 该邮件为系统发送邮件,请勿直接回复!如有打扰,请向博主留言反映。灰常感谢您的阅读! </div> </div>';wp_mail($wp_user_email->comment_author_email, $subject, $message, $message_headers);}}

在写完文章发表之前右上角勾选邮件通知博客所有评论者即可(如下图所示),需要配置好SMTP邮件发送。

声明:乐魂a的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - WordPress发布新文章邮件通知所有用户代码


欢迎来到乐魂a的博客,希望大家收藏多多支持,感谢!!!联系邮箱:admin@tsyinpin.com