Dragon
龙笑天龙笑天  2017-05-01 06:48 龙笑天下 隐藏边栏 |   17 条评论  749 
文章评分 74 次,平均分 5.0

Wordpress 修改更新文章后邮件通知评论过那篇文章的用户 wordpress

有时,有些文章出于某些原因,需要进行内容修改或代码更新等,如果是一些重要的更新修改,想让评论过的人知道此文章有修改更新,怎么办呢?!

嘿嘿嘿,此文正是你所需要的!

功能描述:在修改编辑文章的页面添加一个选项,只有勾选才会邮件通知,这样就不会每次修改频繁打扰到网友。

实现方法:将以下代码放到 functions.php 中:

/**
 * WordPress 修改更新文章后邮件通知评论过那篇文章的用户 - 龙笑天下
 * https://www.ilxtx.com/notify-comment-authors-when-the-post-is-updated.html
 */
//修改更新文章时邮件通知评论用户
add_action( 'submitpost_box', 'lxtx_fo_submit_box');
function lxtx_fo_submit_box( ){
echo '<div id="fo_side-sortables" class="meta-box-sortables ui-sortable">';
echo '<div id="fo_submit_box" class="postbox ">';
echo '<div class="handlediv" title="点击以切换"><br></div>';
echo '<h3 class="hndle"><span>邮件通知</span></h3>';
echo '<div class="inside"><div class="submitbox">';
echo ' <div style="padding: 10px 10px 0;text-align: left;"><label class="selectit" title="慎用此功能,重要文章才勾选嘛,以免引起读者反感哈"><input type="checkbox" name="FO_emaill_report_user" value="true" title="勾选此项,将邮件通知本文所有评论者"/>邮通知本文所有评论者</label></div>';
echo '</div></div>';
echo '</div>';
echo '</div>';
}
//开始
add_action( 'publish_post', 'lxtx_fo_emaill_report_users' );
function lxtx_fo_emaill_report_users($post_ID)
{
//如果未勾选保存,不进行任何操作
if($_POST['FO_emaill_report_user'] != 'true'){
return;
}

//修订版本不通知,以免滥用
if( wp_is_post_revision($post_ID) ){
return;
}

//获取 wp 数据操作类
global $wpdb,$post;
// 读数据库,获取文章的所有用户的 email 并且不重复
$emailauthor != '你自己的邮箱';
$wp_user_emails = $wpdb->get_results("SELECT DISTINCT comment_author, comment_author_email FROM $wpdb->comments WHERE TRIM(comment_author_email) IS NOT NULL AND TRIM(comment_author_email) != '' AND TRIM(comment_author_email) != '$emailauthor' AND comment_post_ID = $post->ID");

// 获取博客名称
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
// 获取博客 URL
$blogurl = get_bloginfo("siteurl");

//文章链接
$post_link = get_permalink($post_ID);
//文章标题$post -> post_title
$post_title = strip_tags($_POST['post_title']);
//文章内容$post->post_content
$post_content = strip_tags($_POST['post_content']);
//文章摘要
$output = preg_replace('/^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,200}).*/s','\1',$post_content).'......';

//邮件头,以免乱码
$message_headers = "Content-Type: text/html; charset=\"utf-8\"\n";
// 邮件标题
$subject = '您曾经来访过的《'.$post_title.'》文章更新通知。';

foreach ( $wp_user_emails as $wp_user_email )
{
// 邮件内容
$message = '
<div style="MARGIN-RIGHT: auto; MARGIN-LEFT: auto;">
<strong style="line-height: 1.5; font-family:Microsoft YaHei;">
亲爱的'.$wp_user_email->comment_author.':
</strong>
<p style="FONT-SIZE: 14px; PADDING-TOP: 6px">
您曾经来访过的《'.$post_title.'》有更新,博主觉得有必要通知您,希望不会骚扰到您。
</p>
<p style="FONT-SIZE: 14px; PADDING-TOP: 6px">
文章标题:<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>
<br/>
文章摘要:'.$output.'
</p>
<p style="FONT-SIZE: 14px; PADDING-TOP: 6px">
您可以点击链接
<a href="'.$blogurl.'" style="line-height: 1.5;">'.$blogname.'</a>
>
<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>
详细查看
</p>
<p style="font-size: 14px; padding-top: 6px; text-align: left;">
<span style="line-height: 1.5; color: rgb(153, 153, 153);">
来自:
</span>
<a href="'.$blogurl.'" style="line-height: 1.5;">'.$blogname.'</a>
</p>
<div style="font-size: 12px; border-top-color: rgb(204, 204, 204); border-top-width: 1px; border-top-style: solid; height: 35px; width: 500px; color: rgb(102, 102, 102); line-height: 35px; background-color: rgb(245, 245, 245);">
该邮件为系统发送邮件,请勿直接回复!如有打扰,请向博主留言反映。灰常感谢您的阅读!
</div>
</div>';
wp_mail($wp_user_email->comment_author_email, $subject, $message, $message_headers);
}
}

---- 代码取自郑永

效果图如下:

Wordpress 修改更新文章后邮件通知评论过那篇文章的用户 wordpress

友情提示:慎用此功能!

当然,邮件内容可以参考下面这篇文章来美化一下哦:

免插件仅代码实现 WordPress 评论回复邮件提醒(另附清新简洁样式模版)-BG
免插件仅代码实现 WordPress 评论回复邮件提醒(另附清新简洁样式模版)

免插件仅代码实现 WordPress 评论回复邮件提醒(另附清新简洁样式模版)

很多网站都有评论邮件提醒功能,这样不仅可以提高用户回站的机率,还可以让评论者第一时间知道所评论内容的最新情况,一举两得。为 wordpress 添加评论回复邮件提醒功能很多人已经了解过,这个功能...

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

龙笑天
龙笑天 关注:32    粉丝:36 最后编辑于:2017-12-25
互助分享,互联网本该如此!

发表评论

表情 贴图 链接 私密 格式 签到
最赞评论
  1. 懿古今
    懿古今 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 50.0.2661.102 Windows XP 广西南宁市 电信

    这个方法很牛,很实用,特别是在一些更新关键代码或者关键技术的文章,还有那些有时效性的文章需要更新时,挺给力的

  2. 明月登楼
    明月登楼 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 58.0.3029.81 Windows 10 河南省南阳市 电信

    哈哈,真的好强大呀!我刚刚用上了!真心很赞的功能个!

  3. BanYuner
    BanYuner 评论达人 LV.2 来自天朝的朋友 谷歌浏览器 58.0.3029.81 Windows 10 湖北省武汉市 电信

    这个功能很久之前就已经添加上了,但是一次都没有使用过

  1. 肉饼哥哥orz
    肉饼哥哥orz 来自天朝的朋友 谷歌浏览器 62.0.3202.94 Mac OS X 10_12_6 上海市 电信

    小哥,你代码都贴出来了,为毛不封装成插件呢。也就几分钟的事情呢。 [奋斗]

    这功能赶脚很有用。

    9楼 2017-12-12 14:08
    0 0 回复
  2. 懿古今
    懿古今 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 50.0.2661.102 Windows XP 广西南宁市 电信

    这个方法很牛,很实用,特别是在一些更新关键代码或者关键技术的文章,还有那些有时效性的文章需要更新时,挺给力的

    8楼 2017-05-03 10:40
    4 0 回复
  3. 捕鱼游戏
    捕鱼游戏 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 21.0.1180.89 Windows 7 江苏省连云港市 电信

    可惜看不懂啊

    7楼 2017-05-02 14:49
    0 0 回复
  4. BanYuner
    BanYuner 评论达人 LV.2 来自天朝的朋友 谷歌浏览器 58.0.3029.81 Windows 10 湖北省武汉市 电信

    这个功能很久之前就已经添加上了,但是一次都没有使用过

    6楼 2017-05-02 11:31
    2 0 回复
  5. 明月登楼
    明月登楼 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 58.0.3029.81 Windows 10 河南省南阳市 电信

    哈哈,真的好强大呀!我刚刚用上了!真心很赞的功能个!

    5楼 2017-05-02 10:11
    3 0 回复
  6. 明月登楼
    明月登楼 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 58.0.3029.81 Windows 10 河南省南阳市 电信

    咦,这个不错,很感性的一个功能!我喜欢,先收了,感谢博主分享!

    4楼 2017-05-02 10:01
    0 0 回复
  7. 演绎法 来自天朝的朋友 谷歌浏览器 50.0.2661.102 Windows 7 河南省郑州市 联通

    看起来就好麻烦

    地板 2017-05-02 06:57
    0 0 回复
  8. 小萝博客
    小萝博客 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 55.0.2883.87 Windows 7 广东省珠海市 电信

    正好搬来用用 [偷笑]

    板凳 2017-05-01 23:15
    0 0 回复
  9. 期待那个她 评论达人 LV.2 来自天朝的朋友 火狐浏览器5.0 11.0 Windows 7 广东省深圳市 天威视讯

    还是有一定的用途的

    沙发 2017-05-01 22:51
    0 0 回复
扫一扫二维码分享