!
也想出现在这里? 联系我们
广告位

wordpress代码实现内容回复可见功能

今天给我的博客加了文章内容回复可见的功能代码版的,网上有些都已经失效了,我特意重新整理了一份出来,并且在后台编辑器也加了快捷按钮,下面言归正传,总共分为 3 步。

1. 在 functions.php 中加入下列代码:

  1. // 部分内容评论可见
  2. add_filter('the_content', 'hide');
  3. add_filter('comment_text','hide');
  4. function hide($content) {
  5. if (preg_match_all('/<!--hide start{?([\s\S]*?)}?-->([\s\S]*?)<!--hide end-->/i', $content, $matches)) {
  6. $params = $matches[1][0];
  7. $defaults = array('reply_to_this' => 'false');
  8. $params = wp_parse_args($params, $defaults);
  9. $stats = 'hide';
  10. if ($params['reply_to_this'] == 'true') {
  11. global $current_user;
  12. get_currentuserinfo();
  13. if ($current_user->ID) {
  14. $email = $current_user->user_email;
  15. } else if (isset($_COOKIE['comment_author_email_'.COOKIEHASH])) {
  16. $email = $_COOKIE['comment_author_email_'.COOKIEHASH];
  17. }
  18. $ereg = "^[_\.a-z0-9]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$";
  19. if (eregi($ereg, $email)) {
  20. global $wpdb;
  21. global $id;
  22. $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_author_email = '".$email."' and comment_post_id='".$id."'and comment_approved = '1'");
  23. if ($comments) {
  24. $stats = 'show';
  25. }
  26. }
  27. $tip = __('<span class="vihide">抱歉,隐藏内容 <a href="#comments" rel="external nofollow" >回复</a> 后刷新可见</span>', 'hide');
  28. } else {
  29. if (isset($_COOKIE['comment_author_'.COOKIEHASH]) or current_user_can('level_0')) {
  30. $stats = 'show';
  31. }
  32. $tip = __();
  33. }
  34. $hide_notice = $tip;
  35. if ($stats == 'show') {
  36. $content = str_replace($matches[0], $matches[2], $content);
  37. } else {
  38. $content = str_replace($matches[0], $hide_notice, $content);
  39. }
  40. }
  41. return $content;
  42. }
  43. add_action('admin_footer', 'hide_footer_admin');

2.在 functions.php 加入下面代码,实现编辑器后面快捷按钮功能。

  1. // 添加编辑器按钮 - 回复可见
  2. function reply_view_tags($mce_settings) {
  3. ?>
  4. <script type="text/javascript">
  5. QTags.addButton( 'qiuzhuti_reply_view', '回复可见', '<!--hide start{reply_to_this=true}-->', '<!--hide end-->' );
  6. </script>
  7. <?php
  8. }
  9. add_action('after_wp_tiny_mce', 'reply_view_tags');

3. 加入 css 样式,美化一下,可自行调整。

  1. /*回复可见*/
  2. .vihide{display:inline-block;text-align:center;border: 2px dashed #ff6666;padding:8px;margin:10px auto;color:#FF6666;width:100%;}
  3. .vihide a{color:#04a1ef}
  4. .vihide a:hover{color:#4ec6c8}

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress文章中英文数字之间自动加空格

2024-3-21 14:34:54

WordPress教程

导航菜单含有子菜单时图标切换的处理

2024-3-24 2:16:52

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索