WordPress 实现“您的足迹”功能
今天手贱,又小小地折腾了一下 WordPress,我也不知道该怎么描述这个功能,可能标题让你有点晕,我们还是先看效果吧。如果是之前留过言的访客,请看内页侧边栏,我新添加了一个“您的足迹”,可以看到,这里列出了留言访客的最近10条评论,当然,只能看到你自己的最近10条评论,原理就是调用记录在你浏览器中的 Cookies,如果你是第一次来访,或者刚刚清空了浏览器的缓存,那就看不到“您的足迹”这个板块了。
这其实就是一个最新评论功能的修改版,最新评论中指定隐藏管理员评论,而在“您的足迹”中正好是相对的,要指定显示某一个访客的评论,这里的访客就是指当前浏览器 Cookies 中记录的上一次评论者的信息。明白了原理,实现这个功能也就不难了,在最新评论代码的基础上,把 Cookies 中的访客信息作为变量传递给 comment_author 这个字段就可以了。
把以下代码复制到 WordPress 主题文件中需要的地方,比如说 sidebar.php:
<?php
if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_author_email, comment_type, comment_author_url, SUBSTRING(comment_content,1,25) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND comment_author = '".$_COOKIE["comment_author_" . COOKIEHASH]."' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
$comments = $wpdb->get_results($sql);
foreach ($comments as $comment) {
$output .= "\n<li><a href=\"" .get_permalink($comment->ID)."#comment-".$comment->comment_ID. "\" title=\"" . $comment->post_title . " 上的评论\">".strip_tags($comment->comment_author).": ". strip_tags($comment->com_excerpt) ."</a></li>";
}
$output = '<h3>您的足迹</h3><ul>'.$output.'</ul>';
$output = convert_smilies($output);
echo $output;
}
?>
if($_COOKIE["comment_author_" . COOKIEHASH]!=""){
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_author_email, comment_type, comment_author_url, SUBSTRING(comment_content,1,25) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND comment_author = '".$_COOKIE["comment_author_" . COOKIEHASH]."' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
$comments = $wpdb->get_results($sql);
foreach ($comments as $comment) {
$output .= "\n<li><a href=\"" .get_permalink($comment->ID)."#comment-".$comment->comment_ID. "\" title=\"" . $comment->post_title . " 上的评论\">".strip_tags($comment->comment_author).": ". strip_tags($comment->com_excerpt) ."</a></li>";
}
$output = '<h3>您的足迹</h3><ul>'.$output.'</ul>';
$output = convert_smilies($output);
echo $output;
}
?>
因为我水平有限,就不一一解释以上代码的意思了,怕误导大家,另外样式表我也不提供了,每个主题的样式都各不相同,这个大家自由发挥吧。如果你嫌以上代码太累赘,可以把代码封装起来放在 WordPress 主题的 functions.php 里,然后在需要的地方调用,这个扩展也不在本文讨论范围。
下面给第一次来访而看不到效果的朋友截了一张图,也欢迎新来的朋友踊跃留言测试呀~

-
Wordpress 之欢迎 OOXX 归来2011年01月19日 -
Wordpress 评论数之排排坐吃果果2010年12月1日 -
给 Wordpress 评论框添加 TinyMCE 编辑器2010年10月3日 -
Wordpress 最新评论与您的足迹二体合一2010年09月5日
Pingback: 新增访客历史评论功能 | woniuren博客
使用中发现,博主登录,好像看不到自己的足迹啊?
Pingback: iNove修改小记 - Let's whisper
对呀,像你空间这样不能发邮件通知的,就需要这功能
嗯,是的
看看足迹是什么样的
有效啊,我自己就能看到自己的登陆后的足迹
。。。自动清理缓存。。。那是肯定看不到的啦
这个是宝贝,mark,一定得折腾下
无聊的我又有事干了,哈哈
看了,学了,拿走了,谢谢!
为啥不弄个翻页?你知道我打开这个页面花了多长时间吗?十五秒,整整15s啊
呃。。。有人说看评论翻页太累了。。。
一般看评论也只看几条而已,再说了。一般很少有人看评论的
Pingback: Wordpress 实现“您的足迹”功能 - 无聊呀
博客的评论好多啊?没有分页??
Pingback: 添加了“您的评论”功能 | OnC
Pingback: WordPress记录读者看过的文章和已经发过的评论 – 聆听大海
我又被54了!册那
Pingback: 看看大家都说了些什么 | Rusaer Blog
毫无疑问,这个有没有试验成功。。。
这个感觉不难呀,就是最新评论的改版
这个是不是评论样式是@user的话输出会空白额。。我遇到了
该怎么改呢
真是人才啊,我也想要这个功能的。万戈是越来越明星了
兄弟,当初我就想出这个功能,可惜没有说出来,今天你加上这个功能,实在是太好了,感谢国家,感谢万戈啊!呵呵!我就是想另外开一个页面用来显示全部评论,哈哈!!!!! 希望你也就加上这个“更多评论”的功能,这样我可以看一下在贵站留言过什么,呵呵 :)目前暂时只能看见10条了,希望你能多输出几条!
Pingback: Wordpress 实现“您的足迹”功能
不经意的往边上一看,怎么全部都是“冰剑”的评论,我记得我没有灌水啊,我冤枉啊。。。
再仔细一看上面的“足迹”二字,我就想到肯定又是个好玩的东西。
站内搜索“足迹”二字,顺便看看高亮的效果。
一举两得啊。。。
哈哈,你一下子帮我测试了两个功能呀
蛋疼,为什么我弄出来没效果啊。
难道不能显示博主的??
显示啊,我不介意你冒充我的名字留言看看效果
冒充你的可以显示,但是我自己的怎么不显示出来啊?
这个好玩
谢谢分享~
这楼盖得真扎实啊~~ 手指头都酸了
Pingback: 新版功能测试,留下“您的足迹” | 3Q博客
您好,请问下怎么将_e(’Author’)传到一个参数里面而不输出的呢?因为我这个主题在sidebar.php里面输入汉字就网页中就出现乱码了
出现乱码不是因为_e(’Author’),我估计是你sidebar.php的编码问题,要用无bom的utf8编码格式
直接在sidebar.php中输入汉字,就会出现乱码,但是经过_e("test")这样一道就好了,原来__("test")这个函数可以输出到变量里面而不会echo出来
看来你没有理解我的意思呀,我说的是sidebar.php这个文件的编辑,如果不用utf8,PHP是会输出乱码的
是编码错了,我改成了bom的utf8编码格式就好了,但是
$temp=__("test");
echo $temp ;//输出的结果仍然是test,而不是我翻译之后的’测试‘
万戈兄知道怎么传这个翻译的结果的吗?谢了
看看你的翻译文件有没有和这个函数挂上钩呀?
谢谢万戈兄了。
翻译文件时挂上了,我用_e('test')都是可以输出的来的,但是用__('test')就是传不到变量里边去,那你们要是传这种翻译的结果是怎么弄的呢
哈哈,这个功能好,收藏了,待会就整
嘿嘿,这个不错。
第一次访问的,您的足迹这一块显示的是啥?空白还是用其他的代替了?
呀,这也被你发现了,是我正在测试的新功能,还未上线,D调D调啊
你是说足迹啊,如果第一次访问就是空白
看到了我的足迹
这个不错,可以方便朋友找到自己以前的评论
我也是顺便骗几个PV
这个功能那是相当的贱啊,好的没法说啦~~~
人才都是折腾出来滴
对这里的“建筑工人”顶礼膜拜。
这功能我很喜欢,但我没有技术,不会弄,我自己的博客都是直接用程序的,对于哪些代码,看不懂,又不会啊,楼主,有没有傻瓜的添加方法的
其实不需要看懂这些代码的意思啊,只要照我写的做就可以了,已经很简单了哟
好的,谢谢你了,我自己试试看。
呵呵,太能折腾喽
这个真不错
我的足迹?嗯,这楼敢不敢盖的再高点
看右边,侧边栏里有你的足迹的记录哟
足迹功能?这个什么意思?
看右侧边栏你就知道了
出去几天,没怎么上网,有点想念老万了
若能实现翻页就好了,如果留言很多,想找一个月前的留言就不行了。
不错的想法,我再试试加上ajax的翻页效果
不错的功能,只是感觉放到那有点鸡肋...
悲剧,山东移动看不到图片。。。。。
BS山东移动
这个功能不错,让人很容易知道以前留言内容,顶你个肺
我也觉得是一个比较人性化的小功能,嘿嘿
喜欢这个功能,对评论者有利。
恩,也算是一个访客体验吧
太牛逼了,五体投地。。。
还好还好啦,这个效果实现也不是很难,不牛B的。。。
不错不错,哈哈..
(居然将右侧的广告位当成提交了,杯具啊) 我留言时博客挂了,杯具啊
哈哈,有不少同学都把那个广告当提交了,可见这个位置多好呀
嗯嗯,看看有没有人在那里挂张“提交”的图片上去,哈哈。我想访问量大增都有可能
这个创意不错呀,就卖给你吧
没钱的说..等待有缘人吧,哈哈
万大师果然是高手 WP马上就被你研究透了
过奖过奖啦,离研究透还有好长一段 呢
额 你的广告颜色不错 害我以为是确定 = =
哈哈,你说的是google广告?
哦哦,你说的是评论旁边那个呀,呵呵
对啊......不过上面没放广告咧
这个不错哦~~~~~我有好多足迹啊!!~
看到我的足迹了 看来好几天不清理个人数据了
看着这些扬扬评论,我深深的服了
哈哈,松松也被我唬住了?
又是一个SQL查询……
sql是很强大的,在PHP应用中可以结合变量
大折腾啊……几乎每天你都把WP搞得体无完肤……注意身体
咱们年轻有力量,不怕折腾,哈哈
看到了足迹还真不少
你的肯定超过十条啦,哈哈
感觉上很鸡肋的一个功能...
只是好玩一下,玩腻了就撤下这个功能
世界杯,大伙都消失了好久
看到效果了,以前东哥的博客就有这个效果
东哥?原来有前辈已经折腾过了呀,呵呵
是啊,不过他的是插件:
http://www.storyday.com/html/y2008/1572_guestbook-history-plug-in-released.html
原来如此哦,他2008年就发布了耶,那个时候我还没有玩WP,好强
这个功能太邪恶了。。
哈哈,只要不用在邪恶的地方就可以啦
这功能有意思
太淫荡了
我换马甲之前的ID竟然没有足迹了
换回之前的ID就看到啦,这个是记录名字,不是记录邮箱的
我是来看脚印的
可以看到自己一长串的脚印吧,哈哈
额 我清空过cookies 再留言试试
嘿嘿,效果如何?
看看,会出现在那里?
好无聊的功能呀
因蛋疼而为之
还没注意,这效果太赞了。
呵呵,还好,只是用的人好像不多,比较新的一个功能
我看过的博客,就你这里有这个功能。加上标签栏欢迎XXX归来,这两个小功能真的很温馨。
这两个功能的原理是差不多的,都是调用浏览器的Cookies
我来瞧瞧~~~
看到旁边一排你自己的名字了吧,嘿嘿
恩,看到了!好赞啊。哈哈
原来在右侧 终于找到了 没仔细看内容
呵呵,右边应该有一串你的名字吧
10条
看看出不出
代码没看懂 囧
google reader积累了近千未阅读订阅...好久没来这里了。
万大哥多折腾,小弟正好拿来试试。
哈哈,欢迎欢迎,我正找人作小白鼠呢
这个功能挺好……
嘿嘿,童鞋们喜欢就好
我说你怎么做了那个效果 会不写教程呢
教程不是有了嗎……
厉害厉害。cookie在的话就能显示啊。哈哈
啥时候再改进改进
恩恩,已经有童鞋让我加个缓存了,嘿嘿
同志们 我只是测试您的足迹的功能 不算犯规 你们应该歌颂我
正好问一下,你这样可以看到别人的最近评论吗?
当然可以啦 只要姓名一样的话就。。
我能看到他测试的这一条 ~
......... 楼上拉出去切鸡鸡
怎麼你經常拖人家去切______的?
你没jj,不懂切jj的痛苦
RT @Kristy_xiao: 想要小雞雞 想站著噓噓 想嫖宿帥哥哥 想不要背單詞 想吃水煮魚 想給葉子哥哥做一輩子小三 想永遠告別童裝 想一直陪著乖爸爸 想大河馬不再欺負me 想葉子哥哥考上好大學 想........
//推上有猛人 ~
沒刺激我甚麼啊
可我知道被踢JJ的痛苦....
(奮力追上捂著____的萬戈) 別給我逃啊啊啊啊啊啊
小邪 <<<---------- QJJ专业人士
有_____的人快逃
(喂
围观血案
不算SPAM吧
....你赖皮
哈哈 好功能 猜猜我是谁
章鱼同学嘛。。。一猜就知道了。。。
那你猜猜我是谁?
...... 小张可怜的服务器被你折腾得快爆炸鸟
.........
挺住 ~
这个功能不错 可惜又要频繁的调动数据库了
万戈兄 你再努力下 写个缓存 就完美啦
这个太高级,缓存我还不会耶。。。
在winy那看过 可以努力下哦 呵呵
嘿,好呀,谢谢啊,我去翻翻
这个功能好像有点意思。
我发现万戈的点击量高的吓人。
那是唬人的,比如说你就被唬住了,哈哈
是你把这里点燃了之后不玩了,但火着起来了。
小游戏而已,大游戏留着暑假慢慢折腾,嘿嘿
呀!
太好了我有时间也整下!
效果拉风,实现起来也不难,不过你是怎么想到的咩?
昨天洗澡的时候想到的,洗澡的时候灵感特别多,哈哈
我挤挤挤挤挤挤挤挤挤挤
好壮观啊,不知道的以为就我一个人评论
没有不知道的,因为大家都会以为是自己一个人在评论,哈哈
哎。
其实不怎么实用,但是可以用来显摆博主是个高手。
恩,字字中肯,哈哈,高手嘛,承让承让
你这名字真帅
萬戈的叔叔?话说貌似好久不见了
这个功能太帅了。
哈哈,哈哈。我想知道这个可以干什么用……
可以用来耍帅?
挺好的一个功能撒~
只是弄着玩的,嘿嘿~
主题做完没呀?
钱没到帐没动力!
欧洲电汇过来,至少3天,主题明天要,我准备给他给基本功能实现的,不做任何美化
恩恩,钱到帐了再说,还得留一手,哈哈
用paypal呀?简单方便,http://www.zhubajie.name/2010/06/08/paypal-register-adn-verification.html/
怎么认识的老外呀?还是国内的朋友跑欧洲去了?
是人家找上门来做主题的
是老外还是中国人啊?
感觉这个功能会遭遇Google日历一样的下场,多少有点鸡肋,留着占地方……倒是蛮新鲜的
哈哈,这个你也猜到了,我正想过几天玩完就撤呢
嗯……刷頁時非常不穩定,我晚回再來看……
稳定了稳定了!!!!
还好还好,前10是保住了
这个功能很有萌点诶。我要试试做成模组~
咋评论又没了。。。
这个功能不错啊,拿走了
这可是wiki里常用的功能
wiki是啥东东,我好out呀
-.- 不是广告呀: http://wiki.isouth.org/picasaphotoviewer
爆菊非常厲害,我宣佈退出SF黨……
每天被猛插一下
1.蛋卷
2.猪八戒
3. winy
4.小闇
5.猪八戒
6.小闇
7.the7in
8.猪八戒
9.winy
10.小闇
11.猪八戒
总结
猪八戒4个沙发
小闇3个沙发
winy 2个沙发
蛋卷1个沙发
the7in 1个沙发
這說明了什麼……
说明了沙发战争越演越烈啦
唉……再想想這樣鬥下去沒什麼意思……多灌水還是最好。
对,想想我今天还没刷屏呢
别怕,晚上一般没什么动力来刷屏,等我明天去图书馆叹空调时再来刷屏,oh, yeah
说明他位置第一,你得加油
這我當然知道……
这是二师兄发出的挑衅
這挑衅對我沒用啊@_@"
这个是啥?
说明了沙发 很烫啊……
还好这是万戈博客,要换我的也还好加入了强制去除换行符的功能.不然整个界面被你占用.哈哈
哈哈,我不介意啊,反正这个页面已经够长的了
怀疑你的DNS解析有问题 访问有时候不稳定
是主机
好恐怖
我居然在提交时失败了
就在大家挤进来留言的时候小挂了一会儿。。。
刷进来了,占楼围观
我自己也是好困难对刷进来的
sa
不好意思啦二师兄,沙发留给大老婆了
我敢说我是第一个进来的,不会是像昨天说的那样,评论好了再发布的吧?
我看是吧,潜规则了
不是人人可以被我潜规则的,二师兄肯定不行,至少得来个MM
下次让那个香港MM试试吧。
他没发布的时候我就进来了

刷了好久才刷到了呢
沙发
你看沙发还是我的。
二师兄。。。。。
二师兄很WS
??
ws是website吗?还是Western Samoa
不止WS还有点YD
。。。。(=@__@=)那,她连WS都不知道什么意思
老是挤来挤去,沙发很小的咩
我挤
我挤挤
我挤挤挤。
我挤挤挤挤
我挤挤挤挤挤
你再挤我大老婆试试,小心我把你挤掉!
这就是不开无限嵌套的结果
我挤挤挤挤挤挤
我挤挤挤挤挤挤挤
我挤挤挤挤挤挤挤挤
我挤挤挤挤挤挤挤挤挤
我就不信挤不到底下。
这回怎么挤不到底下了呢?
因为你还不知道那个真正伪SF的方法呀,哈哈哈哈~Winy不许说!!!
难道万戈修复了这个bug?
一会让万老板去后台把你删掉
遵命!
万老板真好呀
我问你一句话:万戈是不是你大老婆?
万老板哪是我大老婆,他自己老婆一大堆,30个,一个月一个不带重的
那你是万戈的大老婆吗?
是大老公!!!
对呀,365个,一天一个,你在家等明年本宫召唤你吧
是的
那么你是万戈的大老婆吗?
这功能牛
没有修复,只是你没找到方法
我再挤。
我再再挤。
累了,不挤了。
二师兄,你太恐怖了
二师兄威武
牛叉!!!
这楼盖的
我再插一脚