1. David Wu首页
  2. WordPress
  3. WordPress安装教程

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. 
    
  11. 		if ($params['reply_to_this'] == 'true') {
  12. 			global $current_user;
  13. 			get_currentuserinfo();
  14. 
    
  15. 			if ($current_user->ID) {
  16. 				$email = $current_user->user_email;
  17. 			} else if (isset($_COOKIE['comment_author_email_'.COOKIEHASH])) {
  18. 				$email = $_COOKIE['comment_author_email_'.COOKIEHASH];
  19. 			}
  20. 
    
  21. 			$ereg = "^[_\.a-z0-9]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$";
  22. 			if (eregi($ereg, $email)) {
  23. 				global $wpdb;
  24. 				global $id;
  25. 				$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_author_email = '".$email."' and comment_post_id='".$id."'and comment_approved = '1'");
  26. 				if ($comments) {
  27. 					$stats = 'show';
  28. 				}
  29. 			}
  30. 			$tip = __('<span class="vihide">抱歉,隐藏内容 <a href="#comments">回复</a> 后刷新可见</span>', 'hide');
  31. 		} else {
  32. 			if (isset($_COOKIE['comment_author_'.COOKIEHASH]) or current_user_can('level_0')) {
  33. 				$stats = 'show';
  34. 			}
  35. 			$tip = __();
  36. 		}
  37. 
    
  38. 		$hide_notice = $tip;
  39. 		if ($stats == 'show') {
  40. 			$content = str_replace($matches[0], $matches[2], $content);
  41. 		} else {
  42. 			$content = str_replace($matches[0], $hide_notice, $content);
  43. 		}
  44. 	}
  45. 
    
  46. 	return $content;
  47. }
  48. 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}

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/101541

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注