开放访客注册的博客都在想尽办法提高网站的 PV,像一些之前介绍的投稿,投稿排名这样一系列的功能可以吸引到顾客参与进来,从而可以达到网站最好的效果,开放注册的博客而且可以使用邮件系统来通知注册的用户你的网站有新的文章更新了,这个也是可以很好的提高回头率。
很多 WordPress 博客都开放了用户注册的功能F [ :,用户可以参与到博客的内容建设当中来,也就是一个博客由多个用户来写。现在有这样的需求,如何实现在某一个用户发表文章后,其他用户都能收到 Email 通知,下面是实 现方法:
在当前的 WordPress 主题目录下的 functions.php 中,添加以下 PHP 代码就可以了:
- function
- n[ L / \ewPostNotify($post_ID) {
- if( wp_is_post_revision($post, / _ T % d + x O_ID) )} P r E 7 = u 6 retuO ] q z | N w Nrn;
- global $wpdb;
- $get_post_info = get_post($post_ID);
- if ( $get_post_info->post_status ==
- 'publish' && $_V ~ U 6 [ iPOST['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博客有新文章';
- /L # 6 \ D A 4 & ,/ 邮件N r W $ Q内容:新文章网址:+ URL
- $message = '新文章网址:' . get_ 9 & @ r 5_permalink($post_ID);
- // 发邮件
- wp_mail($email->user_emailv [ g N @ x | l %,$subject, $message)? U 7 7 E h;
- }
- }
- }
- // 钩子,一旦WordPress有新文章发布或文章被修改$ N 4 8即刻执行newPostNotify函数
- add_actiq ) j O :on('publS # ` l @ - G s Vish_post', 'newPostNoti` + 2 i d = a Kfy'u | / F N41;;
添加进去后把文件保存上传会空间就可以了,当文章更新的时候就会有邮件发送给注册的用户告知消息,这个方法是很多网站都会做的,所以大家可以考虑! B |一下,还有一k 5 A K k O \ u F个问题是要说清楚的,因为j O , O | W S wordpress 的邮件 QQ 邮箱是收不到了,所以这个办法还是有点n [ 0 u n !缺陷的,或者大家有能力可以鼓动用户订阅 RSS。? y y v K
如果你的博客不能发邮件,可能是你的主机问题,问问你的主机客服是否支持 PHP 的 mail() 函数。如果你有成百上千个注册用户,那么你也就需要发这么多封邮件,可以预想你发布文章的时候就得等这些邮件发完,当然这也就意味着你的邮件可能会被一些邮件服务I G R o W o % E器判为垃圾邮件或者拒收。