在咱们用wordpress做网站,有时候为了达到推广效果,就需要用用到用Email通知自己的用户,网站更新了什么内容,但是一个一个的发,或者用邮箱批量发送也很麻烦,那就试试下面这种方法吧!
在当前的WordPress主题目录下的functions.php中,添加以下php代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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_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函数。
这个方法挺实用的,学习了!