纯代码实现wordpress文章隐藏内容评论可见

在很多网站上都看过这个效果,比如说知己知彼网站,他的部分资源是需要我们评论后才能下载的,那么这个到底有什么用呢,对我而言,除了拿来装逼,还可以增加我的评论数量,不多说,先看看效果:

其实WordPress有很多的插件可以实现这个功能,比如说Easy2Hide,但是插件当然是越少越好,下面我就来说说怎么用代码实现这个功能:

网上的原文:

在当前主题的functions.php文件添加以下代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

function reply_to_read($atts, $content=null) {

    extract(shortcode_atts(array("notice" => ‘<p class="reply-to-read" style="border-width: 1px 1px 1px 1px;border-color: #F2F2F2;line-height: 150%;"><blockquote><font color="#ff0000"><b>温馨提示</b></font>: 隐藏内容需要<a href="#respond" title="点击进行评论"> 回复评论 </a>后才能查看, 评论后请 <strong><a href="javascript:location.reload()" title="点击刷新"> 刷新 !</a></strong>.</blockquote></p>‘), $atts));

    $email = null;

    $user_ID = (int) wp_get_current_user()->ID;

    if ($user_ID > 0) {

        $email = get_userdata($user_ID)->user_email;

        //对博主直接显示内容

        $admin_email = "[email protected]"; //把左面的邮箱换成博主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‘);

注:把代码中的“[email protected]”换成博主邮箱地址

我修改后的代码:

我开始直接用的网上的代码,但是发现显示出来的效果有错误,于是自己修改了一下标签和样式,然后修改了自己的邮箱号码。其他部分的代码并不需要修改。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

function reply_to_read($atts, $content=null) {

    extract(shortcode_atts(array("notice" => ‘<p class="reply-to-read" style="text-align:center; border:2px solid #f00; border-style:dotted; border-radius:4px; padding:5px; margin:10px;"><strong style="color: red;">温馨提示:</strong>为了避免资源链接被和谐,此处内容需要您<strong><a href="#respond" title="点击进行评论"> 回复评论 </a></strong>后才能查看, 评论后请 <strong><a href="javascript:location.reload()" title="点击刷新"> 刷新!</a></strong></p>‘), $atts));

    $email = null;

    $user_ID = (int) wp_get_current_user()->ID;

    if ($user_ID > 0) {

        $email = get_userdata($user_ID)->user_email;

        //对博主直接显示内容

        $admin_email = "[email protected]"; //把左面的邮箱换成博主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‘);

这样就可以让别人只有回复了评论才能下载你网站资源的效果,是不是很有逼格,我今天刚使用了这个就有了新的评论呢。
参考网址:http://www.boke8.net/the-wp-post-visible-when-comments.html

时间: 2024-11-08 18:28:22

纯代码实现wordpress文章隐藏内容评论可见的相关文章

纯代码实现WordPress评论回复自动添加@评论者的功能

先看看效果: 这个有什么用呢?添加了@功能之后那些用户评论之间的层次关系就很清晰了,我们可以清楚地知道这些评论是谁发给谁的. 其实主要是为了提升逼格. 实现方法: 将下面代码加入function.php中即可 1 2 3 4 5 6 7 8 9 //为你的评论回复添加@功能 function shenjie_com_comment_add_at( $comment_text, $comment = '') {  if( $comment->comment_parent > 0) { /*下面这

#WordPress小技巧#纯代码为自己博客添加支付宝/微信打赏功能

原文:https://www.wn789.com/13323.html 很多人的WordPress博客在文章尾部都有打赏功能,让读者可以直接通过扫描微信.支付宝二维码进行赞助,毕竟维护博客,编写博文需要花费不少的精力,大多数朋友和蜗牛一样都是利用自己业余时间对博客进行管理与维护(如果大家觉得蜗牛789文章能起到一定帮助作用,也欢迎对蜗牛进行打赏,目前大家可以通过支付宝扫红包活动对蜗牛进行打赏,无需自己掏腰包#每日#支付宝扫码最高领取99元红包 可用于店面消费或捐赠蜗牛). 在此文章中蜗牛为大家分

怎么用代码制作WordPress的归档页面

先看看效果,这个是我网站的归档页面:http://www.shenjieblog.com/archives 其实WordPress自带了一个归档的功能,但是只能显示在网页中的某一个部分,但是我想单独制作一个归档页面,因为看见很多网站都有这个,制作一个单 独的归档页面可以让访问者清晰的看到我的网站内容,可以让访问者轻松地找到自己想要的内容,我最开始在阳光盒子的网站看见了他网站的归档页面,感觉效果很 不错,于是想制作一个和他一样的效果,百度了一下,加上自己的修改和美化,弄了一下午终于做成了上图的效果

【好程序员笔记分享】——iOS开发之纯代码键盘退出

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单)     iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得 了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没

(源码推荐)快速开发10几天时间纯代码高仿《内涵段子》

这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因为不喜欢用storyboard或者nib,而是因为一直以来就想用纯代码写个项目,(好远大的梦想..开玩笑的..),但是项目是写出来的,光想不做不写是不行的,所以我就开始我的”内涵之旅“了. Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 日志: 8.30号:没怎么做东西,就是搭建了项目的架构,拉入了之前经常

【Android 我的博客APP】1.抓取博客首页文章列表内容——网页数据抓取

打算做个自己在博客园的博客APP,首先要能访问首页获取数据获取首页的文章列表,第一步抓取博客首页文章列表内容的功能已实现,在小米2S上的效果图如下: 思路是:通过编写的工具类访问网页,获取页面源代码,通过正则表达式得到匹配的数据进行处理显示到ListView上 简单说明下要点:1. 使用Apache HttpClient库实现GET请求.2. 异步请求处理.3. 正则表达式抓取自己需要的数据. 使用Apache HttpClient库实现GET请求. 使用Apache只需简单三步 HttpCli

CSS中隐藏内容的3种方法及属性值

在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等等. 使用CSS即可使以上提到的内容隐藏起来,几种隐藏内容的方法: 1.使用display:none来隐藏所有内容 display:none可以让网页中所有内容不显示,如代码.文字.链接.图片.div层,是推荐的内容隐藏方式. <div style="display:none;">我不占地儿,你看不见我:</div>

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中

EditTextPreference点击后输入框显示隐藏内容,类似密码输入(转)

http://bbs.anzhuo.cn/thread-928131-1-1.html EditTextPreference点击后输入框显示隐藏内容,类似密码输入... [复制链接]     askilledhand ADD.幼儿园 UID 2186431 帖子 46 精华 0 积分 34 最后登录 2014-3-5 串个门 加好友 打招呼 发消息 电梯直达 1楼  发表于 2013-11-18 11:59:03 |只看该作者 |倒序浏览  一键分享 [新人报到]现在去发帖报道即可领取论坛金币哦