• WordPress公布新文章Email通知注冊用户


       非常多WordPress博客都开放了用户注冊的功能,用户能够參与到博客的内容建设其中来。也就是一个博客由多个用户来写。如今有这种需求,怎样实如今某一个用户发表文章后。其它用户都能收到Email通知?以下是实现方法:

         在当前的WordPress主题文件夹下的pluggable.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' ) {
            // 读数据库。获取全部用户的email
            $wp_user_email = $wpdb->get_col("SELECT DISTINCT user_email FROM $wpdb->users");
     
            // 邮件标题
            $subject = 'xx博客有新文章';
    
            // 邮件内容
            $message = '文章标题:' . get_the_title($post_ID) . '<br />';
            $message .= '文章网址:<a href="' . get_permalink($post_ID) . '">' . get_permalink($post_ID) . '</a><br />';
    
            // 发邮件
            $message_headers = "Content-Type: text/html; charset="utf-8"
    ";
            wp_mail($wp_user_email, $subject, $message, $message_headers);
        }
    }
    
    // 钩子。一旦WordPress有新文章公布或文章被改动即刻运行newPostNotify函数
    add_action('publish_post', 'newPostNotify');

      代码已经加入了凝视,相对来说是能够比較easy理解的,每次有新文章公布就会自己主动给全部注冊用户发Email通知。不须要你不论什么干预。假设你的博客不能发邮件。可能是你的主机问题。问问你的主机客服是否支持PHP的mail()函数。假设你有成百上千个注冊用户,那么你也就须要发这么多封邮件,能够预想你公布文章的时候就得等这些邮件发完。当然这也就意味着你的邮件可能会被一些邮件server判为垃圾邮件或者拒收。

         个人不太赞同这样的做法。有种骚扰的嫌疑,毕竟不是每位注冊用户都希望收到类似的邮件。


  • 相关阅读:
    C# RabbitMQ
    使用HttpClient和WebRequest时POST一个对象的写法
    HTTP中application/x-www-form-urlencoded字符说明
    MVC5 Entity Framework学习
    SQL Server安全
    Entity Framework查询
    COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。最新解决方案
    js中精度问题以及解决方案
    string.format
    t-sql对被除数为0&除数小于被除数结果为0&除法保留2位小数的处理
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5349940.html
Copyright © 2020-2023  润新知