wp 网站有新文章发布时发送邮件通知所有用户

前言:

这个功能的话算上一个激活老用户的功能吧,如非必要可以不用,因为如果你的网站注册用户比较多,我是不建议使用的,因为代码会执行你数据库下的所有用户邮箱进行发送,可能会操作服务器堵塞。具体效果应该有朋友昨天收到了我的测试邮件哈哈,

1、只需将下面的 PHP 代码加入到主题目录下:themes/zibll/functions.php 文件中。

2、然后把里面的链接网站改成你自己的就可以了

//网站有新文章邮件通知用户开始
function add_yx_box (){
  add_meta_box('yx_box', '邮件通知', 'yx_box','post','normal','high');
}
add_action('add_meta_boxes','add_yx_box');
function yx_box(){
  echo '<span style="margin:15px 20px 15px 0; display:inline-block;"><label><input type="checkbox" checked name="yx" value="1" title="勾选此项,将邮件通知博客所有注册用户"/> 给用户发送邮件通知</label></span></br>发布、更新文章会给用户发送邮件';
}

function newPostNotify($post_ID) {
    // 判断 yx 是否为空
     if(!isset($_POST['yx']))return;
     if(wp_is_post_revision($post_ID))return;
     global $wpdb;
     $blogurl   = get_bloginfo('url');    //获取首页链接
     $get_post_info = get_post($post_ID);
     if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
         // 读数据库,获取所有用户的 email
         $wp_user_email = $wpdb->get_results("SELECT DISTINCT * FROM $wpdb->users");
         // 依次给每个 Email 发邮件
        foreach ( $wp_user_email as $email ) {
            $user_id = $email->ID;
            //用户是否接收
            if (!zib_msg_is_allow_receive($user_id, 'posts'))return;
            $fsemail = $email->user_email;
             // 邮件标题:多余博客屋有新文章啦
            $subject = '多余博客屋有新文章啦';
             // 邮件内容:新文章网址:+ URL
            $message = '尊敬的 '.$email->display_name.' :<br>您关注的多余博客屋更新了一篇新文章:'.get_permalink($post_ID).'<br><br>如有打扰在<a href="'.$blogurl.'/user" rel="noopener" target="_blank">消息通知</a>中关闭掉文章评论选项即可';
             // 发邮件
            wp_mail($fsemail, $subject, $message);
         }
     }
}
// 钩子,一旦<a href="https://www.hduoyu.com/" title="更多关于 WordPress 的文章" target="_blank">WordPress</a>有新<a href="https://www.hduoyu.com/" title="更多关于 文章发布 的文章" target="_blank">文章发布</a>或文章被修改即刻执行 newPostNotify 函数
add_action('publish_post', 'newPostNotify');
//网站有新文章邮件通知用户结束

 

温馨提示:本文最后更新于2022-06-07 15:15:28,某些文章具有时效性,若有错误或已失效,请在下方留言或联系多余博客屋
© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享
评论 抢沙发

请登录后发表评论