友情链接同时显示图片和名称

最近一直想整理侧边栏,以前都觉得用widget比较方便,省去排版的繁琐。现在还是觉得sidebar单独写一下比较好,可以实现在主页和文章页面不同的显示。

关于侧边栏的友情链接部分,总想搞成图片和名称同时显示的效果,但是wordpress默认的显示确实有图片就只显示图片,无图片的时候只显示名称。在 Shawn 的帮助下今天终于解决了这个问题。

先看最终效果图:

要实现这个效果主要是要修改\wp-includes\下面的deprecated.php文件。

第一个地方是修改友情链接的输出方式,找到1029行附近

if ( $row->link_image != null && $show_images ) {

if ( strpos($row->link_image, ‘http’) !== false )

$output .= “<img src=\”$row->link_image\” $alt $title />”;

else // If it’s a relative path

$output .= “<img src=\”" . get_option(‘siteurl’) . “$row->link_image\” $alt $title />”;

} else {

$output .= $name;

}

这段话就是设置友情链接的输出方式,我们把上面的所有output改成

$output .= “<img src=\”http://www.google.com/s2/favicons?domain=” . $url . “\” $alt $title width=’16′ height=’16′ border=0 />” .$name;

你也可以直接用这句话替代上面的全部。这样显示的效果是不管有没有设置图片,都会去提取该链接在google缓存上的favicon。但是为了提取缓存favicon我们还要退提取的$url做一些处理。

找到1004行附近的

if ( !empty($row->link_url) )

$the_link = clean_url($row->link_url);

在这段话下面添加以下内容

$autArray = explode(“/”,$the_link);

$url = “” . $autArray[2];

这样提取的效果就是比如设置的网址是http://domain.com/blog,会只提取中间的domain.com方便提取google上面的缓存。

以上都是来自Shawn,实在感谢了,聊了半天才知道他是成都人,老乡无处不在啊。

您可以RSS 2.0订阅。 留言,或者引用 Trackback

发表评论

6条评论 »