博华网络科技,点击查看详情

WordPress发布新文章邮件通知所有用户和访客代码

在主题的文件夹下function.php文件中添加以下代码:

//邮件通知
/**
*
*@foemmail 1
*
*/
add_action( 'submitpost_box', 'fo_submit_box');
function 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><label class="selectit" title="慎用此功能,重要文章才勾选嘛,以免引起读者反感哈"><input type="checkbox" unchecked name="FO_emaill_report_user" value="true" title="勾选此项,将邮件通知博客所有评论者"/>邮件通知博客所有评论者</label></div>';
echo '</div></div>';
echo '</div>';
echo '</div>';
}
/**
*
*@foemmail 2
*
*/
add_action( 'publish_post', 'fo_emaill_report_users' );
function 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;
// 读数据库,获取所有用户的email
$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) != ''");
// 获取博客名称
$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 = '《'.$blogname.'》有新文章发表了,速来围观。';
foreach ( $wp_user_emails as $wp_user_email )
{
// 邮件内容
$message = '
<div>
<strong>
亲爱的'.$wp_user_email->comment_author.':
</strong>
<p>
您曾经来访过的博客《'.$blogname.'》有新文章发表了。
</p>
<p>
文章标题:<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>
<br />
文章摘要:'.$output.'
</p>
<p>
您可以点击链接
<a href="'.$blogurl.'">'.$blogname.'</a>
>
<a title="'.$post_title.'" href="'.$post_link.'" target="_top">'.$post_title.'</a>
详细查看
</p>
<p>
<span>
来自:
</span>
<a href="'.$blogurl.'">'.$blogname.'</a>
</p>
<div>
该邮件为系统发送邮件,请勿直接回复!如有打扰,请向博主留言反映。灰常感谢您的阅读!
</div>
</div>';
wp_mail($wp_user_email->comment_author_email, $subject, $message, $message_headers);
}
}

保存后,在写文章页面右上角勾选勾选邮件通知博客所有评论者即可,需要配置好SMTP邮件发送。

勾选邮件通知用户

人已赞赏
wordpress教程

介绍八个无价的WordPress插件

2020-5-26 12:39:11

wordpress教程

WordPress利用Timthumb.Php实现自动缩略图功能

2020-5-26 12:39:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索