首先给个例子,我今天找到一个让回复中加@功能的新方法,利用add_filter而非js,这个方法好处多多,避免了js冲突(如分页功能下)@失效的BUG.
add_filter(‘comment_text’,’comment_add_at_parent’);
function comment_add_at_parent($comment_text){
$comment_ID = get_comment_ID();
$comment = get_comment($comment_ID);
if ($comment->comment_parent ) {
$parent_comment = get_comment($comment->comment_parent);
$comment_text = ‘<a href=”#comment-’ . $comment->comment_parent . ‘””>@’.$parent_comment->comment_author.’</a> ‘ . $comment_text;
}
return $comment_text;
}
但这个方法有个小弊端,就是它会给所有子评论加上@,而以前用js时访客在评论内容中输入的@还存在于评论内容中, 这就导致旧评论中会出现双@.
解决这个问题的办法就是让指定日期之前的评论不受此函数影响,也就是我们今天要讨论的话题:利用php判断来使事件在指定日期之后触发.
比如今天是2013年3月17日,我今天给主题加上了上述函数,所以我希望这个函数不对2013年3月17日之前的评论起作用,所以我们可以将其改成如下代码:
add_filter('comment_text','comment_add_at_parent'); function comment_add_at_parent($comment_text){ $comment_ID = get_comment_ID(); $comment = get_comment($comment_ID); $date = mysql2date( 'Ymd',$comment->comment_date) ;//通过mysql2date函数将评论时间日期化,即转为无时间的日期格式,这里的Ymd表示日期格式为"年月日",中间没有分隔符,这很重要,下一行会提到 if( $date > 20130317) {//判断: 如果评论日期大于指定日期,也就是在指定日期之后,则输出下面的函数 (这里就是为什么要用Ymd的格式,因为没有分隔符,可以将其当作纯数字来运算),20130317可以改成你需要的指定日期 if ($comment->comment_parent ) { $parent_comment = get_comment($comment->comment_parent); $comment_text = '<a rel="nofollow" href="#comment-' . $comment->comment_parent . '"">@'.$parent_comment->comment_author.'</a> ' . $comment_text; } } return $comment_text; }
最后说一句,有东西折腾真好啊,好久没有文荒的感觉了,好开森.
沙发
三月 17, 2013 13:17:40@xsinger 高兴了吧~
101室 三月 17, 2013 13:21:52@小蝴蝶 心花怒放 嘘
102室 三月 17, 2013 13:53:17@小蝴蝶 酷,评论放到上面了 ,而且评论不需要展开了!
102室 三月 17, 2013 19:14:33@xsinger 更高兴了吧?
103室 三月 17, 2013 19:18:36@小蝴蝶 那当然
104室 三月 17, 2013 19:52:53@小蝴蝶 还加了个回到底部!!!
104室 三月 17, 2013 19:54:12@xsinger 为了我也要更加勤奋的抢沙发了
105室 三月 17, 2013 19:54:58@小蝴蝶 呵呵
106室 三月 17, 2013 20:05:27@xsinger 草! 不准呵呵
107室 三月 17, 2013 20:09:32@小蝴蝶 终于暴怒了
108室 三月 17, 2013 20:19:03@小蝴蝶 - -淑女淑女。。。
108室 三月 28, 2013 13:02:10@方露宇
109室 三月 28, 2013 19:24:53@小蝴蝶 测试,哈哈
104室 三月 20, 2013 08:30:43@潇夜语 被你坐着呢
201室 三月 17, 2013 14:15:11哇,会讲粤语( ⊙o⊙ )?
三月 17, 2013 18:50:16@Arch!tect 哪句是粤语啊
301室 三月 17, 2013 18:51:54@小蝴蝶 开森啊 = =。。看来是我想多了╮(╯_╰)╭
302室 三月 17, 2013 18:54:32@arch 你不港我还唔知呀
303室 三月 17, 2013 19:44:47@小蝴蝶 难为你还去查怎么打粤语了O(∩_∩)O哈哈~
304室 三月 17, 2013 20:27:46@Arch!tect 没有…这句我真会港
305室 三月 17, 2013 20:28:53@小蝴蝶 哈~ 不错不错~
306室 三月 17, 2013 20:31:42@Arch!tect 因为我老家也把”讲”读港
307室 三月 17, 2013 20:35:04@小蝴蝶 酱紫~ 我突然发现不能用safari来你这儿。。 ╮(╯_╰)╭
308室 三月 17, 2013 20:39:19@Arch!tect = = 什么叫不能来..打不开?
309室 三月 17, 2013 20:40:20@小蝴蝶 title是装逼神器。。。。在下不敢用神器。。 = =
3010室 三月 17, 2013 20:42:40@Arch!tect 哈哈 那你看macos的title了没
3011室 三月 17, 2013 20:44:16@小蝴蝶 天。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。居然一直没看到!!!
3012室 三月 17, 2013 20:45:19@Arch!tect 哈哈哈 其实我都弄了好久好久了,大家一直没注意到
3013室 三月 17, 2013 20:45:57@小蝴蝶 这样就行了╮(╯_╰)╭
3014室 三月 17, 2013 20:52:03@Arch!tect 轻松愉快~ ╮(╯_╰)╭
3015室 三月 17, 2013 20:53:09@Arch!tect
你这样的结果是等会我又要画这几个图标去了..
3016室 三月 17, 2013 20:54:43@小蝴蝶 恩? 都有正常显示到啊╮(╯_╰)╭
3017室 三月 17, 2013 20:58:05@Arch!tect 睡了。。。。画好告诉我吧~
3018室 三月 17, 2013 21:02:50@Arch!tect 不画了
3019室 三月 17, 2013 21:03:29@小蝴蝶 不会生气了吧。。我不换user agent了。。 ╮(╯_╰)╭
3020室 三月 17, 2013 21:07:15 楼要倒啦,不要堆啦,从这里另开一楼吧亲@Arch!tect 没有没有..我是懒 ..
3021室 三月 17, 2013 21:08:25 楼要倒啦,不要堆啦,从这里另开一楼吧亲我擦 这是你说的不换user agent吗
@Arch!tect 好了~
3021室 三月 17, 2013 21:08:40 楼要倒啦,不要堆啦,从这里另开一楼吧亲@Arch!tect 好了~楼要倒了 睡吧
3022室 三月 17, 2013 21:09:59 楼要倒啦,不要堆啦,从这里另开一楼吧亲@小蝴蝶 恩。。拜~ 我还是开着插件好了呵呵呵
3023室 三月 17, 2013 21:12:49 楼要倒啦,不要堆啦,从这里另开一楼吧亲@小蝴蝶 有才啊,还会说粤语!
304室 三月 17, 2013 21:12:24@xsinger 就会那一句哈哈
305室 三月 17, 2013 21:16:02一般js写的正规,不会冲突的,另外ajax加载后@xxx失效,你要重新绑定啊
三月 17, 2013 18:54:27@zwwooooo 我原本是用重新绑定,好像用live click也行(这个没试),但是发现add_filter的方法更好,评论框更干净了,嘎~
401室 三月 17, 2013 19:02:43来晚了!!!!
三月 17, 2013 21:56:23@跑调的包子 没有..一点都不晚,堆楼的人明显被推楼的打败
501室 三月 17, 2013 21:57:10@小蝴蝶 最新评论放到最下面,有点不习惯
502室 三月 17, 2013 22:03:26@跑调的包子 最新评论没有放到最下面啊
503室 三月 17, 2013 23:06:03评论样式修改了 还是我好久没来了。。忘记了啊。。。这个不错!
三月 17, 2013 22:06:35@所谓刚子 今晚才改的,新鲜出炉
601室 三月 17, 2013 22:08:58@小蝴蝶 不错不错 和mg12的感觉类似。。。
602室 三月 17, 2013 22:20:41(^o^)/~哈哈哈~欢笑胜过一切!(这是雷尔弥勒的教诲)
非常欢迎 @小蝴蝶 和各位朋友回访我的UFO网站: http://www.ufo-book.com/
三月 17, 2013 22:17:50我的使命是为地球人迈入黄金时代而做出爱的奉献!
总有内容可以写,对于博客来说是很幸福的事。
三月 17, 2013 22:42:56@huangjun 也不是总有,很多时候也会憋不出来
801室 三月 17, 2013 22:45:46哈哈,出来了,改天我也加上。
三月 17, 2013 22:43:20@619影视 你用上面那个代码就行了,你以前没用过@js,所以不需要加时间判断的
901室 三月 17, 2013 22:48:15评论框往上移了,也不错。另外我很需要大家的@功能,我可以加上么?哈哈。但是我之前都没有。是不是不需要判断了?
三月 17, 2013 22:43:42@郑永 加上吧,哈哈,因为没有嵌套,所以@就有必要了,你以前没用过@的js,所以可以直接用上面的代码,不用加日期判断的~
1001室 三月 17, 2013 22:45:10@小蝴蝶 O我滴K,现在就去加上试下
1002室 三月 17, 2013 22:51:26@619影视 去吧 好了喊我去围观
1003室 三月 17, 2013 22:52:28@小蝴蝶 加上了,但字体颜色是黑色的,
1004室 三月 17, 2013 22:58:32@619影视 改一下css咯~
1005室 三月 17, 2013 23:00:02@小蝴蝶 俗话说的好:帮人帮到底,送佛送到西:)
1006室 三月 17, 2013 23:01:21@619影视 送到西啦,都送到你网站评论了~
1007室 三月 17, 2013 23:14:53@小蝴蝶 好筒子啊,
1008室 三月 17, 2013 23:22:44@小蝴蝶 你说一下用@有什么好处?我加上,以前的评论就都加上了?
1002室 三月 17, 2013 22:53:10@郑永 好处就是,尤其对于你那样没有嵌套样式的评论,可以了解具体是回复谁的,
1003室 三月 17, 2013 22:54:52恩恩 ,就都加上了~~
@小蝴蝶 太好啦,哈哈。。。小蝴蝶威武。
1004室 三月 17, 2013 22:55:28@郑永 没有没有,前面那个不是我原创的,我只是写了后面那个时间判断,没想到果然大家都对前面的更感兴趣
1005室 三月 17, 2013 22:57:23开玩笑,快拿去用吧
@小蝴蝶 有个问题,只能显示回复给谁。。能不能将那条评论加在回复的那条评论前面???
1006室 三月 17, 2013 23:00:46@郑永 你说的这个就属于quote的功能了(z大那里评论就有个quote);
1007室 三月 17, 2013 23:05:40我解决这个的方法就是”几0几室”,像下面那个你回复619的那个,你是1103室,说明你就是回复1102的….
我擦都加在哪里怎么不写清楚!你着妞做事要认真点嘛。嘿嘿
三月 17, 2013 22:46:09@619影视 囧~这个文章主旨是介绍php判断,主角不是@功能嘛
,加在functions.php里
1101室 三月 17, 2013 22:47:23@小蝴蝶 你详细讲下,不要欺付俺木有女朋友是程序妞
1102室 三月 17, 2013 22:49:36@619影视 在functions.php最后的”?>”之前加上文中第一段代码就行了~
1103室 三月 17, 2013 22:51:37@小蝴蝶 O了,正在登FTP
1104室 三月 17, 2013 22:52:35@619影视 比如我要回复 “你详细讲下,不要欺付俺木有女朋友是程序妞”这句!
1103室 三月 17, 2013 23:01:09@郑永 我类个去,杂了?
1104室 三月 17, 2013 23:02:46@619影视 没事没事,他是测试回复功能 哈哈
1105室 三月 17, 2013 23:07:05@小蝴蝶 噢,还以为这哥们想拿手机打我类!
1106室 三月 17, 2013 23:08:00@619影视 哈哈哈哈
1107室 三月 17, 2013 23:11:18@619影视 哈哈,想象力丰富!! 测试完毕。
1107室 三月 17, 2013 23:23:02@郑永 哈哈,开玩笑呢。晚上好
1108室 三月 17, 2013 23:23:53@619影视 要说起头像,你这个头像。。。外星人。。汗。晚上看来来有点。。诡异啊。哈哈
1109室 三月 18, 2013 00:03:21@郑永 哈哈,我看还好啦,跟我电脑logo一样
11010室 三月 18, 2013 09:03:57@郑永 以后每天晚上看看,看多了就好了
11010室 三月 18, 2013 15:05:31@619影视 啊!佩服,好欢乐啊!
1107室 三月 18, 2013 02:23:16@xsinger 呵呵,俺是快乐的屌丝
1108室 三月 18, 2013 15:05:02以前没加@,就出现了问题了。。。不能回复给某个楼层下的其他人。
三月 18, 2013 00:15:20看来近期还是在折腾评论部分,人气倒是很旺盛啊
三月 18, 2013 09:37:05@张书杨 wp的评论供折腾的地方太多了~嘿嘿
1301室 三月 18, 2013 17:28:51评论框整上来,灌水更方便了,啊哈哈哈
三月 18, 2013 10:18:44@不亦乐乎 哈哈,是啊,我的目的达到了
1401室 三月 18, 2013 17:17:38既然都嵌套了,一个对一个了,为啥还要在前面加个@呢?
三月 18, 2013 10:32:18@不亦乐乎 我这个没有嵌套样式,不是一个对一个的
1501室 三月 18, 2013 10:36:44@小蝴蝶 我看到的明明有一对一嘛
1502室 三月 18, 2013 17:10:19@不亦乐乎 子评论中还会有别的人来回复呀,比如1103室
1503室 三月 18, 2013 17:17:17今天过来网速有点慢嘛
三月 18, 2013 10:41:21@airoschou 不会吧- – 功能我只减没增
1601室 三月 18, 2013 10:42:45看来评论要破百了(•‿•)
三月 18, 2013 12:35:28@xsinger 你丫还不来,我文章可发了
1701室 三月 18, 2013 17:19:11围观…评论框…..变了
不习惯-_-|||
三月 18, 2013 12:57:14@Android 水起来更方便了~
1801室 三月 18, 2013 17:18:52@小蝴蝶 最近神奇事情好多…我的评论都找不到了…
1802室 三月 20, 2013 09:23:22@Android 你在第二页..
1803室 三月 20, 2013 10:06:08@小蝴蝶 犯2了……我…最近2
1804室 三月 20, 2013 10:25:02please type some chinese words like 小蝴蝶最爱臭美in your comment to pass the spam-check.
三月 18, 2013 17:08:36@跑调的包子
驳回
1901室 三月 18, 2013 17:22:03- -不是我网速慢。。。是你的主机慢。。。
三月 18, 2013 21:48:28@阿福 …是你网速慢
2001室 三月 18, 2013 21:55:04@小蝴蝶 - -好吧,你这么设置。。。我也想来一个,求教程。
2002室 三月 18, 2013 21:57:06@阿福
2003室 三月 18, 2013 22:21:32@小蝴蝶 小蝴蝶最漂亮,thanks 。。。。。。。。。我X你怎么也装这个插件啊。。
2004室 三月 18, 2013 22:23:38@阿福 哈哈 因为英文垃圾评论太多
2005室 三月 18, 2013 22:24:23这个方法不错诶, 我之前也写了一个, 不过没想到用api
七月 7, 2013 09:40:58避免了js冲突(如分页功能下)@失效的BUG, 并不是bug, 是js没有冒泡绑定ajax加载的dom事件
七月 7, 2013 09:42:07@牧风 恩恩 写这个的时候不很了解ajax 后来才知道要重新绑定
2301室 七月 8, 2013 01:17:40建议子评论缩进一个头像的空白 http://ww3.sinaimg.cn/large/6115ac8ftw1e6e0gqbj4pj20qg0fcjtj.jpg
七月 7, 2013 09:44:57@牧风 好了~
2401室 七月 8, 2013 01:23:37