wordpress文章评论后可见
分类:折腾日期:2012-02-27 - 18:15:33作者:老谢
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'); |
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');
以上代码复制到function.php即可,用法如下:
原文传送门:http://zuidongting.com/non-plug-ins-to-achieve-the-contents-of-the-article-shows-the-code-reply-share.html
什么意思?评论后本来就可以看见的啊?
@咚门 本文没放评论可见的内容 – -!!
是么,我看标题的。。那研究下函数是什么意思。。
可以添加回复可见的内容啊?
这不和论坛一样了
@软件盒子 差不多一个意思,但是这个只能通过Cookie来判断该用户是否评论过
待我伪造一个cookie出来。
厉害。。。
这个貌似用不到呢,呵呵~不过学习一下,不为过的。
瞅了多久发现好熟悉,一看下面,原来在若水那见过。。
来转悠一圈。。哈哈。。最近明显折腾不动了。
这个貌似很不错哈,可以尝试,不过这样强制也不好,最好对于经常来访问的开放
@知行从庸 有时候可以骗点回复~
老谢木丁丁!
@suN 何必要说谎。。
好无耻啊。不过这个功能我记得有插件的。另外,好像是根据用户是否登录来做判断的,
@Laycher 登录就稍显麻烦点了
没有用过wp,也没有接触这么去折腾的~~
前来拜访博主,顺便点点博客上广告博文非常给力,获益匪浅,天天来拜读,共同学习一起发展;
我的博客刚建立,还请多多指导,欢迎访问我的博客合肥晾衣架
这个东西好啊,没准什么时候就用的到了
我记得屁毛有一枚插件,ajax实时显示,不再需要刷新了
@帅哥 插件就略显不必要了,毕竟这个功能平时用的也不是很多
这个可以給文章灌水用~
话说这个功能实在是太邪恶了。。。。
哈哈 这篇文章你应该也评论后可见
@Tee 好主意,发布的时候忘掉了!
太邪恶了哈