在前天我们分享了《Three主题实现WordPress文章部分内容输入密码后可见》,今天也顺便继续折腾一下WordPress文章部分内容评论/回复后可见。这个同样是利用WordPress的短代码功能来实现。
具体实现步骤如下:
1、将以下代码添加到Three主题的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 = "[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');
PS:将上面代码中的[email protected]替换为站点管理员的邮箱地址,以实现管理员直接可见。
2、在编辑文章的时候,只需要切换到文本模式,在需要隐藏的部分内容中前后加上短代码即可。
- [reply]我是被隐藏的内容,样式一(默认样式)[/reply]
- [reply notice="回复后才显示哟"]我是被隐藏的内容,样式二(自定义回复信息)[/reply]
其中样式一的提示信息就是第一步中的“温馨提示:此处内容需要评论本文后刷新才能查看!”,样式二的提示信息就是“回复后才显示哟”,具体选用哪个样式由大家自己决定了。
效果图如下:
至此,WordPress文章部分内容评论/回复后可见功能已经在Three主题实现,其他主题的实现方法也是一样的。
文中所用到的代码来自维7维3。
PS:评论/回复后一定要刷新一下才能看到隐藏的内容哦,如果刷新后也无法看到,那肯定是你的评论需要管理员审核才行,只有审核通过后才能显示隐藏内容。
PS:如想实现WordPress文章部分内容输入密码可见的,请移步《Three主题实现WordPress文章部分内容输入密码后可见》。
PS:如想实现WordPress文章部分内容登录可见的,请移步《如何实现WordPress文章部分内容登录后可见》。
你可能感兴趣的文章
懿古今 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请发邮件至[email protected],确认后马上更正、删除,谢谢!
版权声明:本文为原创文章,版权归
发表于2015-10-22 11:54 沙发
先收藏,以后或许用得着~
@三月福利吧其实很多主题都集成有了,不过这个很少用到,所以我的主题才没有集成,先收藏总没错 [呲牙]
发表于2015-10-22 12:28 板凳
这个功能在分享站很有用
@路易大叔嗯,不回复不给链接地址或其他,挺实用的
发表于2015-10-22 12:29 地板
[呲牙] 感谢博主112 收录 主宰者博客www.myzhuzaizhe.com
发表于2015-10-22 12:51 4楼
我怎么记得这篇文章你之前就有过呀
@中国历史[疑问] 这个还真没有,刚才特意在后台搜索一下,上次分享的是输入密码可见
发表于2015-10-22 13:42 5楼
我用的是zb其实也想要这个,不知道怎么弄
@内涵谷对于ZB我还真不太懂,多百度看看
发表于2015-10-22 14:04 6楼
哈哈,这个是真可以有!
@明月登楼的博客[呲牙] 很多地方应该会用到,你所用的主题应该集成有
发表于2015-10-22 16:07 7楼
这个可以有!上次才提到,这次就折腾出来了。博主辛苦啦!!
@守心斋[憨笑] 顺手折腾一下,弄成三部曲,明天分享登录可见
发表于2015-10-22 16:33 8楼
嗯,如何将文章添加到站长推荐
@小豆豆SEO主题说明页中有介绍,本站推荐的文章管理:我们在编辑文章的时候,需要添加一个自定义栏目,名称为:hot,值可任意,建议为文章ID。默认随机显示。
@懿古今是添加分类目录吗
@小豆豆SEO主题上没有保留版权链接,对于这个问题建议百度解决。
发表于2015-10-24 07:40 9楼
这个功能很不错
@videoclub[坏笑] 对于像贵站这种分享电影的资源站,可以设置评论后可见下载地址
@懿古今这个建议确实不错
@懿古今我的那个主题可以直接使用你的这个代码嘛? 对于手机访问的也适用吗?
@videoclubWordPress的都可以,手机访问跟这么没啥关系,一直适用的
@懿古今好的 那我就用起来哦 呵呵
@懿古今怎么使用的时候
提示代码有问题
@videoclub[流汗] 直接放到主题内的functions.php文件最后一个?>的前面,修改邮箱地址,然后在编辑文章的时候切换到文本模式,在需要隐藏的内容前后加上相对应的短代码即可。
发表于2015-10-24 21:58 10楼
这个功能可能论坛CMS之类的用的比较多!
@李阳博客确实如此,在博客上用得比较少,不过某些资源站就会有这个要求,评论后才能看到资源的下载链接地址
发表于2015-10-26 18:27 11楼
代码里面多了个“empty”
@videoclub[强] 果然是,可能是我测试的时候都是输入邮箱地址的,所以这句代码没起作用,没发现错误,谢谢告知
@懿古今[得意] 客气了 我也是反复测试 发现了 不经意看 还不容易发现的
@videoclub我看了我测试的源代码,里面只有一个empty,不懂怎么变成代码高亮就多了一个,看来以后也不能全信电脑
发表于2016-12-21 14:27 12楼
你好,请问一下:在隐藏内容里面如果有图片,会出现“[caption id="attachment_332" align="aligncenter" width="613"] [/caption]”之类的代码,这个问题应该怎么解决啊?
@蒋不讲这个没研究过,你可以试试添加图片但是不添加图片说明属性看看
@懿古今不添加图片说明属性倒还真可以。谢谢你!
发表于2020-09-07 16:17 13楼
你好,博主,我把代码添加进去后,以游客身份回复,没效果(不显示隐藏内容)。只有以管理员身份,回复才能显示隐藏内容,望博主指点,谢谢