如何对 WordPress 链接进行排序(不用插件)

绝大多数博客都有一定数量的友情链接,您是否为链接的排序问题而困扰?您想按链接的重要程度来排序?或依据链接名称来排序?或依据链接地址排序?还是一视同仁地按先来后到原则排序?……

WordPress 作为很好很强大的博客程序之一,在这个问题上是非常周到的,基本上可以依据任意需求来自定义链接的次序,其中涉及的函数是:get_links,这个函数的用法是很灵活的,以下只着重谈谈如何控制排序。

链接栏通常是包含在模板的 sidebar.php 文件之中,打开该文件,搜索 "get_links" ,会看到默认的使用方式通常是这样的:

<?php get_links(2, '<span>', '</span>', '', TRUE, 'url', FALSE); ?>

其中涉及排序的参数值是 'url' ,意思是根据链接地址来排序,我们可以依据自己的喜好把它修改成其它,能够使用的值如下(参考资料:WordPress Codex):

'id'
'url'
'name'
'target'
'category'
'description'
'owner'
'rating'
'updated'
'rel'
'notes'
'rss'
'length'

其中较为常见的三种用法是:

'id'   依据id号排序(通常是添加链接的先后顺序)
'url'   依据url地址排序(通常是默认方式)
'name'  依据链接的名称排序

本博客目前对链接是根据 id 来排序的,代码如下:

<?php get_links(2, '<li>', '</li>', '', TRUE, 'id', FALSE); ?>

另外,网上也有专门针对 wordpress 链接的插件,但本人觉得不一定有必要,因为 get_links 本身已经很灵活,并且使用插件必然增加系统的负担。当然,这还是取决于各人的喜好。

本文现有 15 条评论:

  1. 懒虫说道:

    在这方面还是z-blog做的简单方便,直接给出个textarea 在上面用html写链接就可以了。

  2. Dickey说道:

    @懒虫 其实 WordPress 也可在 Widgets 中添加 textarea 任意写代码

  3. Eureka说道:

    还是用插件比较方便,不过,很有研究性

  4. Eureka说道:

    申请链接,感觉这里能学到一些东西

  5. yacca说道:

    我的是随机显示...哈哈

  6. 盲流北丐说道:

    解惑解惑!

  7. Poshi说道:

    太好了,解决了我的问题!

  8. 萧秋水说道:

    谢谢,查找如何对友情链接排序找到了这里,不过,试验没有成功,不知道什么缘故。我在友情链接中家人的分类里,添加了大宝和二宝的名字,按name排序的话,大宝是d,二宝是e,按说应该是大宝在前,但是不行;按url的话,大宝是
    club.youshang.com/5164,二宝是club.youshang.com/5166,按说也该是大宝在前,可是还是不行。

    能否解释一下正确的做法?谢谢。

    博客地址:http://www.xiaoqiushui.com/

    • Dickey说道:

      按name排序的话,对数字和英文字符的顺序就很明显,但wordpress对中文字符的顺序是比较怪的,某些似乎是拼音倒序,某些又不像,具体没研究过。
      按url排序的话(默认方式),应该是不会异常的吧?你所说的……5164排在……5166的,如果顺序有异,确实想不出什么原因,会否是没有刷新?
      我自己,比较习惯使用链接的ID为序,也就是先来后到的原则。

  9. 邵希杰说道:

    无意间又来了。呵呵。
    这个排序根据ID,他是自动根据ID顺序排序?
    可否自定义?
    我是菜鸟,根据分类排序怎么排?
    我在后台设置了分类,把相关链接归类到分类,结果首页不显示了,估计是他默认的按照“url”排序导致的。在哪里修改根据“分类”排序?

  10. 邵希杰说道:

    呵呵,找到了,在外观编辑里面编辑友情连接相关页面

  11. 网站建设说道:

    刚才那个链接怎么是英文的http://codex.wordpress.org/Template_Tags/get_links

  12. 许岑说道:

    嗯,学习了,按照rating排列好一些

发表评论

3 x 7 =