纯代码实现WordPress文章内容回复可见功能


WordPress小功能很多,但是真正能用到的功能也就那几个,回复可见功能不仅可以增加网站的人气,还能给人一种逼格有没有。

需要注意的是:请勿开启评论可以匿名,就是不需要填写任何信息就能提交评论的,要不然会无法显示。

废话不多说,下面开始教程,如何让WordPress代码实现回复可见小功能。

第一步:在functions.php中添加代码:

add_filter('the_content', 'hide'); 
add_filter('comment_text','hide'); 
function hide($content) { 
if (preg_match_all('/<!--hide start{?([\s\S]*?)}?-->([\s\S]*?)<!--hide end-->/i', $content, $matches)) { 
$params = $matches[1][0]; 
$defaults = array('reply_to_this' => 'false'); 
$params = wp_parse_args($params, $defaults); 
$stats = 'hide'; 
if ($params['reply_to_this'] == 'true') { 
global $current_user; 
get_currentuserinfo(); 
if ($current_user->ID) { 
$email = $current_user->user_email; 
} else if (isset($_COOKIE['comment_author_email_'.COOKIEHASH])) { 
$email = $_COOKIE['comment_author_email_'.COOKIEHASH]; 
} 
$ereg = "^[_\.a-z0-9]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$"; 
if (eregi($ereg, $email)) { 
global $wpdb; 
global $id; 
$comments = $wpdb->get_results("SELECT * FROM$wpdb->comments WHERE comment_author_email = '".$email."' and comment_post_id='".$id."'and comment_approved = '1'"); 
if ($comments) { 
$stats = 'show'; 
} 
} 
$tip = __('<span class="vihide">抱歉,隐藏内容 <a href="#comments">回复</a> 后刷新可见</span>', 'hide'); 
} else { 
if (isset($_COOKIE['comment_author_'.COOKIEHASH]) or current_user_can('level_0')) { 
$stats = 'show'; 
} 
$tip = __(); 
} 
$hide_notice = $tip; 
if ($stats == 'show') { 
$content = str_replace($matches[0], $matches[2], $content); 
} else { 
$content = str_replace($matches[0], $hide_notice, $content); 
} 
} 
return $content; 
} 
add_action('admin_footer', 'hide_footer_admin');

第二步:美化一下CSS:

.vihide { 
display:inline-block; 
text-align:center; 
border: 2px dashed #ff6666; 
padding:8px; 
margin:10px auto; 
color:#FF6666; 
width:100%; 
} 
.vihide a { 
color:#04a1ef 
} 
.vihide a:hover { 
color:#ffb300 
}

那么如何调用呢?

很简单,只需要在写文章的时候转到文本模式,填写:

<!--hide start{reply_to_this=true}-->隐藏内容<!--hide end-->

如果您觉得每次复制这行代码很麻烦,那么可以在编辑器中将这个功能添加到工具栏中。

第三步:在functions.php加入下面代码,实现编辑器后面快捷按钮功能。

// 添加编辑器按钮 - 回复可见
function reply_view_tags($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'hhb_reply_view', '回复可见', '<!--hide start{reply_to_this=true}-->', '<!--hide end-->' );
</script>
<?php
}
add_action('after_wp_tiny_mce', 'reply_view_tags');

是不是很简单呢?小伙伴们学会了吗?

免责声明:该资源版权归原作者所有,本站只是负责搜集和整理,本站不承担任何技术及版权问题。在本站下载该资源仅提供学习参考和研究,不得用于商业用途,否则一切后果请用户自负。请在下载后在24小时内删除,一切关于该资源商业行为与学士资源网无关。本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。如有侵权、不妥之处,请联系站长以便及时删除,敬请谅解!侵权/投稿邮箱:zhuanyexueshi@163.com
学士资源网 » 纯代码实现WordPress文章内容回复可见功能

发表评论

学士资源网为大家提供最优质的资源集合

联系学士 资源Q群
嘿,我来帮您!