非常多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\"\n"; wp_mail($wp_user_email, $subject, $message, $message_headers); } } // 钩子。一旦WordPress有新文章公布或文章被改动即刻运行newPostNotify函数 add_action('publish_post', 'newPostNotify'); 代码已经加入了凝视,相对来说是能够比較easy理解的,每次有新文章公布就会自己主动给全部注冊用户发Email通知。不须要你不论什么干预。假设你的博客不能发邮件。可能是你的主机问题。问问你的主机客服是否支持PHP的mail()函数。假设你有成百上千个注冊用户,那么你也就须要发这么多封邮件,能够预想你公布文章的时候就得等这些邮件发完。当然这也就意味着你的邮件可能会被一些邮件server判为垃圾邮件或者拒收。(责任编辑:好模板) |