我们经常在各种论坛上看到“回复后可见隐藏内容”的字样,这样既保证了帖子能让更多人看到,也可以防止贴文被恶意转载。那么在WordPress上如何实现这样效果呢?一起来看看吧。
WP酷还是建议大家少用这样的功能,如果不是资源分享博客使用可能会导致用户体验降低。
使用方法
在functions.php中插入如下代码:请注意修改其中的Email地址哦!
function reply_to_read($atts,$content=null){ extract(shortcode_atts(array("notice"=>'<span class="reply-to-read">此处内容需要<a href="'. get_permalink().'#respond" title="评论本文">评论本文</a>后<a href="javascript:window.location.reload();" title="刷新">刷新本页</a>才能查看.</span>'),$atts)); $email=null; $user_ID=(int)wp_get_current_user()->ID; if($user_ID>0){ $email = get_userdata($user_ID)->user_email; //如果用户已登录,从登录信息中获取email }else if(isset($_COOKIE['comment_author_email_'.COOKIEHASH])){ $email=str_replace('%40','@',$_COOKIE['comment_author_email_'.COOKIEHASH]); //如果用户未登录但电脑上有本站的Cookie信息,从Cookie里读取email }else{ return $notice; //无法获取email,直接返回提示信息 } if(empty($email)){ return $notice; } global $wpdb; $post_id=get_the_ID(); //文章的ID $query="SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1"; if($wpdb->get_results($query)){ return $content; //查询到对应的已经审核通过的评论则返回内容 }else{ return $notice; //否则返回提示信息 } } add_shortcode('reply', 'reply_to_read');
收工~使用方法很简单, 在编辑文章时添加:
[reply]评论可见的内容[/reply]
或者
[reply notice="自定义的提示信息"]评论可见的内容[/reply]
注:对于采用多说等第三方社会化评论系统的博客没有效果。
最不喜欢的就是回复可见
回复可见让大部分回复都是无意义无质量的回复,营造虚假繁荣
也只有一些论坛需要,博客网站什么的还是算了
@蚊哥 我个人也是这么觉得的,实在没意思……
@蚊哥 又是多说评论?
@李绍兵
” />
每篇文章末尾的作者这一块是写的固定代码吗?还是什么插件啊?
@Link+ 代码实现