学习永不停止
我们一起努力吧!

wordpress”隐藏显示回复才可见”无须插件代码,亲测可用!

简考题库免费下载

想将wordpress在写文章做成论坛那种“回复”可见的形式吗?将自己认为有必要的内容设置成“提示: 此处内容需要评论本文后才能查看”,不仅有效地保护内容不轻易被一些采集客所摘取,而且可以增加互动效果,有利于增强对访客的粘性。做成这种效果,一般有两种形式:一是通过插件,比如Easy2Hide、Share to view all;另一种则是将主题文件functions.php后面加入代码。插件形式确实方便,但占用服务器的空间和内存,且由于兼容性原因也未必最终如愿,笔者在安装Easy2Hide后却导致编辑器打不开,最后只能作罢。代码形式看起来繁琐,但无非也是“傻瓜式”地操作,复杂无从谈起。以下将笔者现在使用的“显示回复”原代码贴出供大家使用。

/* 
* 以下代码可隐藏指定的内容,访客回复才可见
*/  
function reply_to_read($atts, $content=null) {  
        extract(shortcode_atts(array("notice" => '<p class="reply-to-read">提示: 此处内容需要<a href="#respond" title="评论本文">评论本文</a>后才能查看.</p>'), $atts));//notice默认值     
        $email = null;     
        $user_ID = (int) wp_get_current_user()->ID;     
        if ($user_ID > 0) {  
            $email = get_userdata($user_ID)->user_email;  
            $admin_email = "XXXX@qq.com"; //博主Email  
            if ($email == $admin_email) {//若是博主则直接显示内容  
                return '<p class="reply-to-read" style="background:no-repeat">'.$content.'</p>';  
            }  
        } else if (isset($_COOKIE[‘comment_author_email_’ . COOKIEHASH])) {  
            $email = str_replace('%40', '@', $_COOKIE[‘comment_author_email_’ . COOKIEHASH]);  
        } else {  
            return strpos($notice,'提示: 此处内容需要')  ? $notice : '<p class="reply-to-read" title="此处内容需要评论本文后才能查看.">提示: '.$notice.'</p>';//未检测到评论信息(昵称、网站等)。不是博主,且未评论  
        }  
        if (empty($email)) {  
            return 'TEST CODE:111'.$notice;//无email  
        }  
        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 '<p class="reply-to-read" style="background:no-repeat">'.do_shortcode($content).'</p>';//若已评论  
        } else {  
            return strpos($notice,'提示: 此处内容需要')  ? $notice : '<p class="reply-to-read" title="此处内容需要评论本文后才能查看.">提示: '.$notice.'</p>';//已评论其他,未评论此文章  
        }  
    }  
    add_shortcode('reply', 'reply_to_read'); 

将以上代码放入到functions.php中,注意一定要在“?>”前,否则生效不了不要怪我的代码不好哦!加入后通过FTP上传替换原文件,刷新网站后台,进入文章,采用“【reply】隐藏的内容【/reply】”或“【reply notice=自定义信息】隐藏的内容【/reply】”指定隐藏内容,即可生效!(记得要将“【】”换成“[ ]”,本文因为代码冲突需要只能写成这种形式,请谅解!)

其实到这一步也基本上可以了,但是为了使界面更加具有观赏效果,个人建议还是要将下面这组代码加入到style.css中。以下是大家看到的最终“回复可见”效果,各位顺便也回复一下,将代码领回去(隐藏部分还写有解析说明),跟上面的一起搭配使用,否则可能因为某些网站所发布的代码有错漏导致出错就不好了!

提示: 此处内容需要评论本文后才能查看.

最后预祝大家安装成功!

未经允许不得转载:http://jdks100.com/风语守望_博客 » wordpress”隐藏显示回复才可见”无须插件代码,亲测可用!


分享到:更多 ()
关注“公众平台”:     资源分享QQ群(517095212):

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • 7 + 2 = ?
  1. #8

    不错!

    帅得罚款3年前 (2016-04-04)回复
  2. #7

    代码复制不了

    Mr_qiang1年前 (2017-09-02)回复
  3. #6

    怎么复制

    yi10个月前 (01-19)回复
  4. #5

    鱼鱼鱼

    nihello10个月前 (01-19)回复
  5. #4

    能用不看看

    荣耀博客5个月前 (06-24)回复
  6. #3

    测试下回复可见

    回复可见3个月前 (09-04)回复
  7. #2

    测试下柯建马

    雨总2个月前 (09-14)回复
  8. #1

    这个很棒棒哦

    菲菲2个月前 (09-23)回复

风语守望_博客,共同学习,一起成长!

网站首页联系我们
防复制