[wordpress教程]WordPress无需插件实现发布新文章自动发送Email通知注册用户

QQ邮箱订阅中有这样一个功能:在读者订阅博客后将每天汇总该博客更新信息,并发送至QQ邮箱里。我们可以效仿此法,达到同等推广效果。这样一来,网站更新了什么内容即可直接调用信息,批量发送新文章内容至 Email 通知自己的用户。代码来自 DZ9 ,感谢分享。

[wordpress教程]WordPress无需插件实现发布新文章自动发送Email通知注册用户

在咱们用wordpress做网站,有时候为了达到推广效果,就需要用用到用Email通知自己的用户,网站更新了什么内容,但是一个一个的发,或者用邮箱批量发送也很麻烦,那就试试下面这种方法吧!

在当前的WordPress主题目录下的functions.php中,添加以下php代码:

function newPostNotify($post_ID) {
     if( wp_is_post_revision($post_ID) ) return;
 
     global $wpdb;
     $get_post_info = get_post($post_ID);
     if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
         // 读数据库,获取所有用户的
         $wp_user_email = $wpdb->get_results("SELECT DISTINCT user_email FROM $wpdb->users");
 
         // 依次给每个Email发邮件
        foreach ( $wp_user_email as $email ) {
             // 邮件标题:xx博客有新文章
            $subject = 'xx博客有新文章';
 
             // 邮件内容:新文章网址:+ URL
             $message = '新文章网址:' . get_permalink($post_ID);
 
             // 发邮件
            wp_mail($email->user_email, $subject, $message); 
         }
     }
}
 
// 钩子,一旦WordPress有新文章发布或文章被修改即刻执行newPostNotify函数
add_action('publish_post', 'newPostNotify');

 

使用这个方法的前提是,服务器必须开启mail函数。