有博友反映说《如何下载有字库的字体文件》里的方法失效了,也有博友在《Lonesome主题修改记录》里留言询问我使用的Lonesome主题里的相关文章是如何实现的。
我更新了相关文章,还要去回复相关的博友。如果对一些类似的旧文章进行更新,而这种更新一旦没有及时通知感兴趣的朋友,往往就没有什么意义了。
今天无意中看到了一篇可以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 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); } }
来学习一下
设置smtp邮件回复压力应该不会很大吧,增加用户粘性。
像我这种一天胡乱说几次的,不敢这么做
哈哈,这个我有之前也弄过,一样方法。
学到了,谢谢分享
文章不错非常喜欢
但是经常用的话,会有读者感到反感
不错哟,很好的功能
你这个玩的好高端阿
这个功能学习一下
如果访客是那种需要长期关注本站的,然后又不喜欢弄什么订阅啊什么的,那么你这个通知就起到用途了。不过话说回来,我觉得我的网站是用不上这个功能了,怕别人把我拉黑...
朋友 交换链接吗
文章不错非常喜欢
国庆快乐
要赞 要顶!!!
收藏l~
技术类的博客会比较中意这功能,我这种生活类的博客一般用不上,不过还是留着备用(*>◡❛)