zoukankan      html  css  js  c++  java
  • 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判为垃圾邮件或者拒收。

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


  • 相关阅读:
    基于RBAC模型的权限设计:如何设计系统权限体系?
    移动应用开发中AppID、AppKey、AppSecret
    PHP使用Redis的Pub/Sub(发布订阅)命令
    Vue教程:windows下安装npm和cnpm
    Golang panic用法
    Golang 并发Groutine实例解读(二)
    js时间戳与日期格式的相互转换
    总结微信公众平台网页开发中遇到的ios的兼容问题
    总结安装webpack过程中遇到的错误及解决方案
    微信web页面返回刷新
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5349940.html
Copyright © 2011-2022 走看看