显示评论者、友情链接 favicon 的新方法
显示评论者 Gravatar 头像、网站 favicon 是老肥博客一贯的做法,得到过不少朋友的称赞。favicon 的显示调用是我 自己摸索 的,实际运用起来问题比较多,比如:没有 favicon, favicon.ico 不在根目录,尺寸太大,或者评论者留下的是 www.awflasher.com/blog 这样的带有小尾巴的地址,都会导致显示错误。
前两天 Shawn 提示我 Google 有一个隐藏的 favicon 缓存服务可以完美解决这个问题,果然非常棒,现在分享给大家。这个缓存调用的地址是:
https://www.google.com/s2/favicons?domain=fis.io
简单吧?这个查询得到的是一个 png 图像,如果没有对应的 favicon, 则缺省是一个地球图标。WordPress 插件 Favicon Images for Comments 是最简单的用法,不过样式反正要自己改,喜欢动手的朋友、非 WordPress 的朋友请看下面的教程。
这个查询要求不能带有 http, 而域名后面无论跟什么都无所谓。所以首先要把评论者网址前的 http 过滤掉,例如 中文 WordPress 工具箱,在显示最新评论的循环语句 foreach ($comments as $comment) 下面添加一个 $domain 定义:
$domain = preg_replace('/^http:///', '', $comment->comment_author_url);
得到的 $domain 就没有前面的 http 了。然后把它用到输出去:
$output .= $before . '<img src="https://www.google.com/s2/favicons?domain=' . $domain . '" class="favicon" /><a href="' . $permalink . '" title="' . $comment_excerpt . '">' . $comment_author . '</a> ' . $comment_excerpt . $after;
这是我的例子,提供一个参考。我发现这样写还是很难看懂……呵呵,就当个参考吧。我把我的侧栏最新评论、本周嘉宾、友情链接都改成了这个显示方式,欢迎参观 😀
最后,希望有博客的朋友都检查一下自己的根目录下是否有 favicon.ico 这个文件,yo2 用户好像也可以通过一个专用插件来上传它。这样您的博客可以在这里得到丰富的展示,happy blogging!
据博友 冰古 的测试,Google 的 favicon 缓存服务并不是直接获取根目录下的 favicon.ico, 而是需要 html header 里面含有:
<link rel=”shortcut icon” type=”image/x-icon” href=”/favicon.ico” />
如果图标不对,一定要检查一下这里。谢谢冰古!
效果好像会不错,测试下先 :p
呵呵,头像+ICO,不错 🌈
这个赞啊!
来测试下! 😀
太强大了。
我怎么出来的是截图。
没有 gravatar 就显示网站截图… 哈哈
你的 favicon 是正常的哟
Google Profile应该就是用的这个来调用用户网络服务地址的favicon的
看了一下,果然……
因为那个地球很熟悉 哈哈
正准备搬来合租主机。。可以学学了
好主意~~
哈,老肥又有新武器了!
真的好强大!
不知道别的博客程序可行不?
和博客程序没有关系,只是一个固定查询,就能获得图片呀
看来PHP的书我还需要再多看几遍
好强好强
加小图标显的很可爱…不过页面调用的外部数据太多了…
这个还好,一般来说,google.com 能保证访问,图标也都统一过格式了
比以前我直接读取对方 ico 文件的做法其实好很多,直接读取如果遇到文件不存在,有时候会卡很久……
不过话说,效果还真不错^^
:p 嘻嘻,找到新的方法了…不错不错…
💡 …显示不正确的.
你的博客刚才不能访问?而且
https://www.google.com/s2/favicons?domain=happines.cn
本来就没有读取到你的图标…
他网址写错了。。。
我汗……还是你眼亮,哈哈
大哥,你自己的域名都写错了……嗯
我说呢,我点了一下还以为你当机了呢,哈哈,帮你改了一下
真的是哦…哈哈…我真粗心! 😀 …
啥意思啊?
在右侧栏显示评论者 favicon… 以前的显示方式是直接读取对方的 /favicon.ico, 现在是用 Google 的缓存
教我。。。
yo2 开放插件上传了没?如果没有的话,可以把函数写在主题里面……
这个不错 ico统一格式 哈哈
另外yo2 没有开插件上传
测试一下~
有这个GOOGLE缓存服务判断下非空截下字符串输出图片就OK了吧
对的,甚至非空都不用去判断,输出那个默认的地球图标其实也挺好的。。
我来测试一下Gravatar…
超强啊 :p
那些图标都是这样来的啊
我用这个几天了,还是发现了些问题,缓存有时候会错乱,显示成别人的 favicon… 不知道是不是我一人的问题
再顶一贴,看到我的ico了
友情帮你测试下。
挖,ExpReg~
555是个地球
难道是我拼错了RegExp。。。
rpwt~
不知道为啥,我的明明有favicon,却显示地球。
跟大猫一样,难道 .ico 格式上有问题…
没吧。firefox上显示挺好的。
貌似我找到原因了,因为我的页面中没有添加这个标签,看了几个“地球”的,都是没有加上的,而不是“地球”的就都有这个标签。
添加上了,等待谷歌的更新。
header 里面的这句对吧?
<link rel=”shortcut icon” type=”image/x-icon” href=”/favicon.ico” />
呵呵,我测试了几个朋友的博客,的确如此,Google并不是找根目录下的 favicon.ico, 而是找这句定义。呵呵,谢谢提醒 😀
还是显示“小地球”难道不是那个原因?
汗……果然还没有更新 再次怀疑 ico 文件的格式问题
我的是什么图片??
没有 favicon
试试我的显示不啦
favicon 没有显示,检查一下吧……
我用了这个方法,好多人的都没有显示出来,奇怪了
当然显示不出来咯,因为我的域名你都写错…-___-
靠,我晕死了,我每次上你的博客都是手敲域名的,竟然还会打错,唉,老了
哈哈,我也链你了
不错,学习了.
不过这张皮下好象没有效果…
你说你的blog? 我看了一下,你根本就没有输出这个图标啊 -_-
很不错,分享了!!!
调用方式最近又更新过了…
试下我的新favicon :p
还没更新 😮
我要做个小白鼠,先下载下慢慢弄去 🌈
不需要下载什么东西吧
这个不会弄啊,只能下载个插件瞎折腾咯
最喜欢的就是你博客里的这个功能,呵呵。
好复杂。。。
评论好多
不错,我考虑要不要弄到我的blogger.com系统上。
wow beautiful~ 🌈