这篇文章的方法是在远方的雪山博客(http://salonglong.com/)中看到的,首先感谢他的分享。
相信大家逛论坛的时候,看到好的资源的时候,都会碰到“该帖子需要回复后才能查看”的字样,虽然对于访客来说,很麻烦,但是对文章的seo有很大帮助,也可以避免让好文章沉入海底,今天就介绍下,如何在WordPress中实现这个功能,适用于分享独一无二的资源的时候,会引来质量不高的评论,建议慎用!
通过读代码和测试发现:
1、已登录的用户,如果评论过,可以查看资源;
2、博客采用原生评论,游客评论后会有Cookie记录,刷新页面即可查看资源;
3、必须是通过审核的评论人,才可以查看;
4、采用多说、灯鹭等社交评论插件的话,此方法就不奏效了,需要自己添加获取当前评论人Email地址的逻辑,并且评论要及时同步回本地。
具体实现方法:
一、首先将下面给的代码,加到你的主题的 functions.php 中:
//短代码之评论可见 function reply_to_read($atts, $content=null) { extract(shortcode_atts(array("notice" => ' <span style="color: red;">温馨提示:</span>此处内容需要<a title="评论本文" href="#respond">评论本文</a>后才能查看. '), $atts)); $email = null; $user_ID = (int) wp_get_current_user()->ID; if ($user_ID > 0) { $email = get_userdata($user_ID)->user_email; //对博主直接显示内容 $admin_email = "***@gmail.com"; //博主Email,直接对博主显示而不需要评论! if ($email == $admin_email) { return $content; } } else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) { $email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]); } else { return $notice; } if (empty($email)) { return $notice; } global $wpdb; $post_id = get_the_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 do_shortcode($content); } else { return $notice; } } add_shortcode('reply', 'reply_to_read');
二、然后就是短代码部分(把下面两段代码中的“{}”大括号都改成“[]”中括号),编写文章时插入:
{reply}评论可见的内容{/reply}
三、提醒内容也可以自定义,代码如下:
{reply notice="自定义提醒回复内容"}自定义提醒回复内容{/reply}
四、附上我自己博客中的css样式,添加到主题下的style.css中:
.reply-to-read{ background: #F4F7F7; color: #528294; font-family: Georgia, Times New Roman, Trebuchet MS; font-size: 16px; font-style: italic; margin: 0 15px 15px; padding: 15px 20px 0; line-height: 26px; text-shadow: white 1px 1px; }
这句是样式的预览效果
哈哈,这个好流氓啊。逼着人家留言不是。
呵呵,就是要评论的,以免有些人“不劳而获”,说一句话得到好东西,值得的。前提是资源要好。
哈哈,这个好流氓啊。逼着人家留言不是。
呵呵,就是要评论的,以免有些人“不劳而获”,说一句话得到好东西,值得的。前提是资源要好。
这样垃圾评论留言会爆多。。。弄点||色||情|资源,回复可见下载。。。
说的也有道理,不过我相信玩博客的人素质都是比较高的, 。那种资源可不能随便传bo啊,你懂的。
这样垃圾评论留言会爆多。。。弄点||色||情|资源,回复可见下载。。。
说的也有道理,不过我相信玩博客的人素质都是比较高的, 。那种资源可不能随便传bo啊,你懂的。
呃~~这个功能不错。。。
呃~~这个功能不错。。。
功能不错哦,借鉴了,能做到无刷新读取吗?
功能不错哦,借鉴了,能做到无刷新读取吗?
我的评论呢
我的评论呢
这个功能还是不错滴….
有意思的功能
有意思的功能
有点意思,试一下看看
有点意思,试一下看看
感谢分享,谢谢站长!!@天天下载