加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

更新WordPress文章通知评论过的用户

发布时间:2020-12-14 14:24:16 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 我们使用 wordpress 建站时,时常会发布一些代码类、持续更新类的文章,那么会有存在更新和追加的情况,这样的话我们需要通知那些评论过这篇文章这的用

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

我们使用 wordpress 建站时,时常会发布一些代码类、持续更新类的文章,那么会有存在更新和追加的情况,这样的话我们需要通知那些评论过这篇文章这的用户呢。这段代码就是实现在文章有修改或更新时候可以决定是否邮件通知对这篇文章有评论的访客。如果对一些类似的旧文章进行更新,而这种更新一旦没有及时通知感兴趣的朋友,往往就没有什么意义了。那么怎么存代码实现更新 WordPress 文章通知评论过的用户呢?我们需要添加相关代码后会在修改编辑文章的页面添加一个选项,勾选这个选项才会邮件通知评论过的用户,这样可以明显减轻回复的压力,只有勾选才会邮件通知,这样就不会每次修改频繁打扰到网友。

实现方法:

将以下代码放到 functions.php 中:

/**

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

?*/

//修改更新文章时邮件通知评论用户

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 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 MARGIN-RIGHT: auto; MARGIN-LEFT: auto;">

<strong line-height: 1.5; font-family:Microsoft YaHei;">

亲爱的'.$wp_user_email->comment_author.':

</strong>

<p FONT-SIZE: 14px; PADDING-TOP: 6px">

您曾经来访过的《'.$post_title.'》有更新,博主觉得有必要通知您,希望不会骚扰到您。

</p>

<p FONT-SIZE: 14px; PADDING-TOP: 6px">

文章标题:<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>

<br/>

文章摘要:'.$output.'

</p>

<p FONT-SIZE: 14px; PADDING-TOP: 6px">

您可以点击链接

<a href="'.$blogurl.'" line-height: 1.5;">'.$blogname.'</a>

>

<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>

详细查看

</p>

<p font-size: 14px; padding-top: 6px; text-align: left;">

<span line-height: 1.5; color: rgb(153,153,153);">

来自:

</span>

<a href="'.$blogurl.'" line-height: 1.5;">'.$blogname.'</a>

</p>

<div 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);

}

}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读