EMLOG实现私密评论仅博客可见的方法
不管是EMLOG原生评论系统还是第三方社会化评论插件,目前都无法实现私密评论的功能,但是我们可以通过手动操作的方法实现这一功能,现在就来为大家分享一下EMLOG实现私密评论仅博客可见的方法。
一、操作步骤
1、打开模板文件module.php,添加如下代码
<?php //私密评论 function comcontent($pl) { $patterns = array ("/@/","/\[blockquote\](.*?)\[\/blockquote\]/","/\[F(([1-4]?[0-9])|50)\]/"); $replace = array ('回复了','<blockquote>$1</blockquote>','<img alt="表情" src="'.TEMPLATE_URL.'img/face/$1.webp" />'); $pl=preg_replace($patterns, $replace, $pl); return $pl; } // 判断是否为私密评论 function isPrivateComment($comments){ return(strstr($comments,"[私密评论]")); } // 显示私密评论 function showPrivateComment($comments,$post_email,$current_email){ // 如果是私密评论 是管理员身份或者发布私密者本身才会显示 if(isPrivateComment($comments)){ if($post_email==$current_email or ROLE == ROLE_ADMIN){ return $comments; }else{ return "<font color='red'>##私密评论仅博主可见##</font>"; } }else{ return $comments; } } ?>
2、将下面的JS代码添加到模板公用JS里
function addNumber(a) { document.getElementById("comment").value += a }
3、继续打开module.php,找到如下代码
<?php echo $comment['content']; ?>
4、将上面的代码替换为如下代码
<?php echo showPrivateComment(comcontent($comment['content']),$comment['mail'],$_COOKIE["postermail"]); ?>
5、打开模板文件echo_log.php,在评论框下合适的位置添加如下按钮即可
<a href="javascript:addNumber('[私密评论]')"><i class="fa fa-lock"></i></a>
二、原理解析
本教程可以实现用户评论的私密内容只能用户和管理员才能看见,别人是看不见的,前台会显示私密评论仅博客可见的字样
三、注意事项
本教程第3步,根据模板的不同所要查找的代码不同,请根据实际情况自行修正