WordPress

WordPress评论后可见功能

LensNews

wordpress评论后可见功能很多时候,我们可以在很多网站或论坛中看到:“该帖子需要回复后才能看到”,“本链接需要回复才能下载”等效果。

这样对于访客虽然有点麻烦,但对于站长或网站本身的流量是有很大的帮助,同时也增强了文章的权重,有利于SEO。

代码是从老杨博客中拷贝过来。

一、首先将下面给的代码,加到你的主题的 functions.php 中:

  1. //短代码之评论可见   
  2. function reply_to_read($atts$content=null) {   
  3. extract(shortcode_atts(array("notice" => '<p class="reply-to-read"><span style="color:red; font-size=13px;">温馨提示:</span>此处内容需要<a href="#respond" title="评论本文">评论本文</a>后才能查看.</p>'), $atts));   
  4. $email = null;   
  5. $user_ID = (int) wp_get_current_user()->ID;   
  6. if ($user_ID > 0) {   
  7. $email = get_userdata($user_ID)->user_email;   
  8. //对博主直接显示内容   
  9. $admin_email = "longyizaifei@163.com"//博主Email   
  10. if ($email == $admin_email) {   
  11. return $content;   
  12. }   
  13. else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {   
  14. $email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]);   
  15. else {   
  16. return $notice;   
  17. }   
  18. if (empty($email)) {   
  19. return $notice;   
  20. }   
  21. global $wpdb;   
  22. $post_id = get_the_ID();   
  23. $query = "SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1";   
  24. if ($wpdb->get_results($query)) {   
  25. return do_shortcode($content);   
  26. else {   
  27. return $notice;   
  28. }   
  29. }   
  30. add_shortcode('reply', 'reply_to_read');   

 

二、然后就是短代码部分(《远方的雪山》添加了“评论可见”短代码功能,所以把下面两段代码中的“{}”大括号都改成“[]”中括号),编写文章时插入:

  1. {reply}评论可见的内容{/reply}  

 

三、提醒内容也可以自定义,代码如下:

  1. {reply notice="自定义提醒回复内容"}自定义提醒回复内容{/reply}  

 

这段代码直接对博主显示而不需要评论!

《远方的雪山》中的斯巴达克斯:血与沙 第一季添加了评论可见功能,可以去试试了!

(1)
Loading收藏(0)

本文由 远方的雪山 作者:萨龙龙 发表,转载请注明来源!

LensNews

热评文章

发表评论

CAPTCHA
*

评论: 17 条评论,访客:11 条,博主:4 条 ,当前引用:2 条

  • 技术分享
    技术分享 发布于:  回复

    前来支持。其实用easy2hide插件也可以,不过各有各得好处,根据自己实际情况选择吧

    • 技术分享
      技术分享 发布于:  回复

      不知道这个代码是对本文回复可见,还是回复一下全站所有隐藏的内容都显示出来了。

  • 养猪大户
    养猪大户 发布于:  回复

    如果是多说的话,也不可行啊

    • 萨龙龙
      萨龙龙 发布于:  回复

      这个功能只是针对WP本身的评论系统,多说评论系统与WP的还是不同。

      • 养猪大户
        养猪大户 发布于:  回复

        但是访客登录时会出现侧边栏异常

  • 明月登楼
    明月登楼 发布于:  回复

    这个好,收藏了!很有用的一段代码!

  • Leniy
    Leniy 发布于:  回复

    围观下回复可见

    • 萨龙龙
      萨龙龙 发布于:  回复

      呵呵,这篇文章没有设置,可以到“斯巴达克斯:血与沙 第一季”中回复可见下载地址。

  • 绝尘之舞
    绝尘之舞 发布于:  回复

    博主的博客很给力啊 才注意到还会显示我们的最新文章 赞一个~以后再来~

    • 萨龙龙
      萨龙龙 发布于:  回复

      呵呵,你说的是评论时显示网站的最新文章吧?CommentLuv插件,我很喜欢。

      • 绝尘之舞
        绝尘之舞 发布于:  回复

        对对 长见识了~真心觉得你的博客有很多值得我学习的地方 加油!貌似有一点 提交留言时好慢的。。。。

        • 大雄
          大雄 发布于:  回复

          很实用的功能,博主的站很简洁啊

  • 张衡Henry
    张衡Henry 发布于:  回复

    第18行 if (emptyempty($email)) { 函数写重复了,应该是 if(empty($email)){

    • 萨龙龙
      萨龙龙 发布于:  回复

      呵呵,是啊,没有发现!谢谢

  • 张衡Henry
    张衡Henry 发布于:  回复

    绝对的好东西,论坛的这个好功能终于可以用到wordpress中了。回家试试。

当前外部引用:2 条

  • WordPress博客中实现评论后可见功能 | 张衡Henry
  • WordPress博客中实现评论后可见功能 | 张衡Henry