wordpress 友情链接随机、分列显示

高手可以绕道了,呵呵!最近有不少人问到博客首页两列的随机友情链接是如何实现的,想想干脆写出来,大家看一下就明白了。当然你也可以用后台的 Widgets 来实现,但明显 Widgets 可操作性不强,无法控制显示几个,随着链接的越来越多,看着那么多的链接会比较的头疼。

另外如果你是用 iNove 的话,我的建议是你不要启用任何的 Widgets ,因为侧边栏的调用函数作者已经写好了,而且我认为非常的合理,如首页调用随机文章,文章页调用最新文章等等。像我现在的主题就是0个Widgets,然后另外自己加了一个友情链接的函数而已

其实随机友链的实现也非常的简单,调用一个 wordpress 的 wp_list_bookmarks 函数,然后用几行 CSS 控制样式实现两列显示就可以了!

那么首先介绍一下 wp_list_bookmarks 这个函数:函数基本调用方式如下:

<?php wp_list_bookmarks(); ?>

默认情况下会显示全部的链接,当然函数中还有很多的参数以供我们使用,如 orderby (链接排序方式),limit(最多显示几个链接),具体可以参考官方的说明文档。也可以去参考下:wp_list_bookmarks 函数详解

那么我们今天介绍的只要用到几个参数就可以了,其余的都默认就OK!我是这样写的:

<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=16'); ?>

这样就用列表的方式调用了没有标题的16个随机的友情链接,你可以根据自己的情况进行修改。当然你还要根据自己的皮肤情况,添加到皮肤的 sidebar.php 文件中。

只需要去找一下 sidebar.php 文件的规律,或者复制一个已经写好的模块,把其中的函数和标题替换了就OK!我是这样添加的:

<div class="widget">
<h3>Links</h3>
<div class="content" id="links">
<ul><?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=16'); ?></ul><div id="morelink"><a href="http://www.xiaorsz.com/friend-link/">more&raquo;</a></div><div class="fixed"></div>
</div>
</div>

当然,其中除了添加相当的函数外,我还添加了 more 的链接,用于显示所有的链接,修改为你自己的链接页面就行了。还为相应的 div 添加了 ID ,便于在 CSS 中进行控制。结合自己的模版添加到对应的位置就可以了!

另外如果你不想在所有的页面都显示,而只想在首页显示的话只需用 wp 的函数判断一下:

<?php if ( is_home() ) { ?>
<div class="widget">
<h3>Links</h3>
<div class="content" id="links">
<ul>
<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=16'); ?></ul><div id="morelink"><a href="http://www.xiaorsz.com/friend-link/">more&raquo;</a></div><div class="fixed"></div>
</div>
 </div>
<?php } ?>

我加了 if ( is_home() ) 的判断条件,即如果是首页的话才会显示如下的代码,其它页刚不会显示。当然扩展一下还有如:is_single() 文章页,is_page() Pages页,is_category() 存档页等,可以进行非常详细的控制。具体可参考官方文档

现在就可以在首页随机显示16个链接了,但并没有分两行显示,这时就要用到强大的CSS来控制了。在你的 style.css 文件中添加如下样式:

#links li {
background:transparent none repeat scroll 0 50%;
float:left;
padding-left:0;
width:50%;
}
#links li a{
background:transparent url(img/icons.gif) no-repeat scroll 0 -320px;
padding-left:22px;
}
#morelink a
{
 
float:right;
}

当然,这是根据我自己的情况添加的,关键的就两个属性,一个是让 li float:left ,即左浮动,另外一个就是 width:50% ,让每个 li 占一半的宽度,很明显就是两列了,当然你也可以设置成25%,然后就是四列了!!然后又让 morelink 也就是那个 more 右浮动,它就靠右对齐了。

上面的都搞定后就是我博客现在的样子,大家可以根据自己的情况进行修改!如有疑问请留言,我会尽量帮忙解决……哈哈!

PS:文章写到一半居然断电了,我又禁用了自动保存,那个忧伤啊,以为要重新来过了,打开后居然文章还在,而且显示 Post saved. 额?厉害,难道是 WP2.7 的新功能?!!

Update:如果觉得上面添加代码比较麻烦的话,建议大家使用 Hot Friends 插件,些插件支持调用随机的友情链接,数目可以在后台设置,而且支持 Widgets ,也非常的方便,不用去修改 sidebar.php 文件,但如果想实现两列显示,还是修改对应的 CSS,这个参考上面的介绍。

Share with Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

相关文章本月热门点击排行

  • N/A
Post a comment 2008/12/24 – 11:157,390 Views
Post a comment | Trackback URL | RSS Comments 88 Comments
  1. 2008/12/27 at 01:08 | #51

    受用,赶明我也用下,我现在的链接太多了

  2. 2008/12/27 at 01:35 | #52

    http://wordpress.org/extend/plugins/wp-multicollinks/

    :oops:

    无意中看到了这款插件也是mg12功效和这篇文章的功能完全一样,所以过来回复下

  3. 2008/12/27 at 01:38 | #53

    PS:还有就是

    不清楚是不是设置ctrl+enter快捷回复的原因,在IE6环境下完全变形了侧边栏跑到文章底部来咯,因为我今天在本地测试ctrl+enter快捷回复也是这么个情况,后来就没搞起.

  4. 2008/12/27 at 10:06 | #54

    @坏人 Huài Rén 是啊,这个插件是可以实现同样的功能,以前也用过,但好像效果不是我想要的,就没用了。那个跟ctrl+enter应该没什么关系吧?你设置了ctrl+enter后就不正常了? :mrgreen:

  5. 2008/12/27 at 10:36 | #55

    每次都能学到新的东西在你这里

  6. 2008/12/27 at 10:49 | #56

    @xiaorsz

    :!: 我是在本地测试的时候加入了那段代码后来侧边栏就跑到留言板下面来咯,和你现在的状况一样来的,你换IE6看下呢

  7. 2008/12/27 at 11:04 | #57

    @坏人 Huài Rén :!: 谢谢提醒,我还真没发现呢!不过我的是因为Related Posts这个东西搞的鬼,昨天我改了些代码改错了,现在已经好了。你现在还是在下面吗?我去看下!!

  8. 2008/12/27 at 12:33 | #58

    @xiaorsz

    :smile: 好了,正常显示啦.Related Posts这插件我本地测试的时候也有安装来,那就不是那代码的问题啦,嘿嘿,

  9. 2008/12/27 at 18:20 | #59

    人气超旺啊!呵呵 :smile: 不过,这个暂时没有想用的意思…不过先收藏着先!

  10. 2008/12/27 at 19:03 | #60

    人气真旺啊,来顶下~

  11. 2008/12/27 at 20:28 | #61

    突然发现你的代码高亮更漂亮了~
    没用CoolCode了?
    这个看上去真美诶~呵呵

  12. 2008/12/27 at 20:34 | #62

    @Zoll 还是 coolcode 哈!只是改了样式!!呵呵,CSS 是很强大的!!

  13. 2008/12/27 at 22:23 | #63

    其实mg12的一个插件就可以搞定

  14. 2008/12/27 at 22:45 | #64

    学习了!留名备用!

  15. 2008/12/28 at 11:49 | #65

    很好很强大,收藏了,指不定什么时候想用呢。

  16. 2008/12/28 at 12:56 | #66

    @Zoll 其实问题很多的!

  17. 2008/12/29 at 20:48 | #67

    随机链接是可以很好解决首页过长问题,但是对于某些做链接的博友来说,可能不那么友善,怕影响pr

  18. 2008/12/29 at 21:01 | #68

    @莫良 那你可以给他们加上 rel=nofollow ,然后google就不会理会这些链接了!! :razz:

  19. 2008/12/31 at 16:10 | #69

    这个功能不错
    不过人家连接的可能不喜欢咯

  20. 2008/12/31 at 22:47 | #70

    刚好想要学习…

  21. 2009/01/31 at 01:37 | #71

    -_- 额 width 50% 我怎么没想到呢? 搞得老去做算术题了

  22. 2009/02/02 at 22:14 | #72
    CoxGoNotify

    学到真东西了,烦了三天的问题今天得到解决了。支持一下。呵呵。

  23. 2009/02/02 at 23:00 | #73

    @CoxGo 谢谢支持,呵呵!!解决了就好,欢迎常来!!

  24. 2009/02/12 at 21:44 | #74

    学习了···回复的效果真赞的说···

  25. 2009/03/09 at 17:45 | #75
    wp.wmNotify

    如何用下拉列表显示链接(用wp_list_bookmarks()函数)

  26. 2009/03/09 at 23:09 | #76

    @wp.wm 不太明白你说的什么意思啊?

  27. 2009/03/10 at 11:33 | #77
    wp.wmNotify

    就是把友情链接不用无序列表显示,而是用下拉列表显示,通过下拉列表选择某一个链接

  28. 2009/03/12 at 23:16 | #78

    #links li {
    background:transparent none repeat scroll 0 50%;
    float:left;
    padding-left:0;
    width:50%;
    }

    哈哈,这个代码救了我一命~~
    这下友情链接的css不用烦了~

  29. 2009/05/10 at 22:11 | #79

    终于找到了一个好方法啊~~

  30. 2009/05/27 at 14:44 | #80

    非常感谢,学习

  31. 2009/09/04 at 12:11 | #81

    这个好东西,最近正需要呢。

  32. 2009/09/22 at 21:53 | #82

    我怎么实现不了两栏友情链接呢?

  33. 2009/09/24 at 22:40 | #83

    试试看

  34. 2009/10/14 at 14:07 | #84

    呵呵 很不错 文章收藏了

  35. 2009/11/19 at 10:29 | #85

    多谢了,很棒

  36. 2009/12/03 at 14:07 | #86

    不错,参考着改了改,效果还行。

  37. 2009/12/29 at 19:45 | #87

    你这个真的很实用啊,我正愁没有办法实现呢,竟然用一个50%,就可以实现了,看了才知道,竟然这么简单,差距啊!

  38. 2010/01/04 at 13:05 | #88

    这个可以隐身到让分类2列显示。那个插件只能让友链实现。正在找这方面的文章。

Comment pages 1 2
4 Trackbacks
  1. [...]      自己在编辑模板里写代码的话,最大的好处就是可以自己动手决定位置和数量等等,而且不用考虑CSS的问题,因为只要照搬一个主题里的css和div格式就行了。wp_list_bookmarks这个wp函数,详细请看官方文档,还有slyar的这篇解释文章。嗯,基本上就是这样了,从谷歌搜索到的这篇文章详细说了实例,我就不费口舌了。 [...]

  2. [...] 原文地址:http://www.xiaorsz.com/wordpress-random-link-2-row-shows/ 发表评论 | Trackback 目前还没有任何评论. [...]

  3. [...] 参考地址:http://www.xiaorsz.com/wordpress-random-link-2-row-shows/ Wordpress, 主题修改 [...]

  4. [...] 5、将侧边栏显示的内容分两列显示。两栏主题的侧边栏一般比较宽,这样可以照顾到比较长的部分,比如文章题目、评论等内容;但是这样一来,内容比较少的部分比如链接和分类,在显示上就有些不均衡,这时候就希望它们能够分两列显示。使用插件当然能够解决这个问题,比如有个叫wp-multicollinks的插件能够将链接分多列显示,但如果有代码的话,有些时候会有更多的选择吧,参考Xiaorsz的文章(这篇文章还说明了如何控制连接显示的个数),有以下一段css代码: #links li { [...]

Post a Comment

(必填)

(必填,有回复时方便邮件通知)

(可不填,填了方便回访)

Sharing technology, recording life