下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。
我们使用 wordpress 建站时,时常会发布一些代码类、持续更新类的文章,那么会有存在更新和追加的情况,这样的话我们需要通知那些评论过这篇文章这的用户呢。这段代码就是实现在文章有修改或更新时候可以决定是否邮件通知对这篇文章有评论的访客。如果对一些类似的旧文章进行更新,而这种更新一旦没有及时通知感兴趣的朋友,往往就没有什么意义了。那么怎么存代码实现更新 wordpress 文章通知评论过的用户呢?我们需要添加相关代码后会在修改编辑文章的页面添加一个选项,勾选这个选项才会邮件通知评论过的用户,这样可以明显减轻回复的压力,只有勾选才会邮件通知,这样就不会每次修改频繁打扰到网友。
实现方法:
将以下代码放到 functions.PHP 中:
/**
* wordpress 修改更新文章后邮件通知评论过那篇文章的用户
*/
//修改更新文章时邮件通知评论用户
add_action( 'submitpost_Box','lxtx_fo_submit_Box');
function lxtx_fo_submit_Box( ){
echo '<div ID="fo_sIDe-sortables" >';
echo '<div ID="fo_submit_Box" >';
echo '<div title="点击以切换"><br></div>';
echo '<h3 ><span>邮件通知</span></h3>';
echo '<div ><div >';
echo ' <div padding: 10px 10px 0;text-align: left;"><label 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);
}
}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的更新WordPress文章通知评论过的用户全部内容,希望文章能够帮你解决更新WordPress文章通知评论过的用户所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)