当前位置: 首页 > 设计 > 正文
avatar

自定义WordPress友情链接的显示方式,wp_list_bookmarks函数和get_links函数的分析及其应用。

有人问我怎么实现类似我博客的友情链接显示方式,就是只有部分显示在首页,而其他的则没有,而是显示在了博客链接页面了。

其实这个很简单,稍稍对链接加点定义就可以实现这样的效果,wp_list_bookmarks函数和get_links函数。

现在更多的人使用的wp_list_bookmarks函数吧,因为他更加的强大,他的参数设置比较的自由,而不像get_links函数有个特定的语句。

有很多人只想要结果,却不愿看看是如何实现,然后冠上一个我不懂代码了事。其实只要稍稍看一下,不懂代码的人也完全可以实现想要的链接显示效果,今天我们说的不是链接显示的样式,而是究竟怎么显示我想显示出来的链接,比如我首页只想显示一部分置首页的链接,而不是全部,由于链接分类的ID不一样,所以很多主题都是显示全部链接,这也导致了很多人想修改原主题链接显示的模式。

以我博客首页底部的置顶链接为例,首先,你要建链接分类,比如置首页的分一类,其他的再分一类。然后查看他们的分类ID。点击分类的标题,进编辑页面,浏览器上面的链接在最后类似“cat_ID=2”的,则2就是这个分类的ID。

那么我单独调用则可以写成

<?php wp_list_bookmarks('orderby=id&categorize=0&category=2&title_li='); ?>

他的意思是显示分类为2的链接,以链接的ID排序,并且不显示链接分类目录名。

同样的用get_links函数则可以写成

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

我之前用的get_links函数,现在都换成了wp_list_bookmarks 函数。

比如我先按分类显示所有友情链接,类似我博客链接页面。

<?php wp_list_bookmarks('orderby=id&category_orderby=id'); ?>

他的意思是显示所有友情链接,链接分类按ID排序,并且显示链接分类目录名。

如果要用get_links函数写的话,想实现这样的效果就复杂一些了,要一个分类一个分类的写,分类很多的话,写的代码就很冗余了,所以还是wp_list_bookmarks函数来的更加方便。

其实你把函数中参数的意思看明白的话,想写出什么样的链接显示方式都是可以的,重要的还是大家的发挥,符合自己的才是最好的。

=======================华丽的分割线=======================

以下来自网络,作者不详。

wp_list_bookmarks 函数的默认参数是:

'orderby' => 'name'
'order' => 'ASC'
'limit' => -1
'category' => ''
'category_name' => ''
'hide_invisible' => 1
'show_updated' => 0
'echo' => 1
'categorize' => 1
'title_li' => __('Bookmarks')
'title_before' => '<h2>'
'title_after' => '</h2>'
'category_orderby' => 'name'
'category_order' => 'ASC'
'class' => 'linkcat'
'category_before' => '<li id="%id" class="%class">'
'category_after' => '</li>'

下面我来一一介绍每个参数的用途:

categorize

布尔型,用于设置连接是否按照各自的分类显示:

1 (默认,根据链接的分类显示)

0 (不按照分类,显示全部)

category

字符串型,后面就直接 “=链接分类ID号”,那么就显示这个分类下的链接。如果没有指定的话就显示所有的链接。

category_name

字符串型,如果后面 “=某个链接分类的名称” 那么就会在该链接分类前显示分类的名称,如果这里留空的话则会显示所有链接分类的分类名称(即默认的形式)。

category_before

字符串型,位于链接分类之前的文字或代码。默认的设置是:

  • category_after

    字符串型,位于链接分类之后的文字或代码。默认的设置是:

 

class

字符串型,每一个链接的分类都会有一个 “class” 属性(从上面的代码就能看出),默认是:linkcat

category_orderby

字符串型,链接分类的排序方式,按照名词或者ID。

‘name’ (默认)

‘id’

category_order

字符串型,链接分类的升降序排列方式:

ASC (默认)

DESC

title_li

字符串型,链接标题的头文字或代码,默认是:Bookmarks,并且它控制连接是否按照列表的方式排列。

title_before 和 title_after

顾名思义,它们就是连接标题头前后的文字或代码,默认是 h2 标签

show_private

布尔型,是否显示私有链接。

1 (是)

0 (不是 – 默认)

include

字符串型,输出指定 ID 的 Blogroll 的分类链接,各个 ID 之间用半角的 “,” 分开。默认显示所有的 Blogroll 分类。

exclude

字符串型,将指定 ID 的 Blogroll 分类链接从整个链接列表中排除,各个 ID 之间用半角的 “,” 分开。默认是什么都不排除。

orderby

字符串型,Blogroll 的排列方式(默认是根据名称排序,除非将这个值留空),即根据我们在 WP 后台链接设置界面下的那些参数来进行排序:

'id'
'url'
'name'
'target'
'description'
'owner'
'rating'
'updated'
'rel' - 按设定的关系排列
'notes'
'rss'
'length' - 连接名称的长度设定
'rand' - 随机排列显示

order

字符串型,设置升降序的排列方式

ASC (默认)

DESC

limit

整型,设置输出链接条数的最大值。默认值是”-1″,输出全部。

between

字符串型,每个连接、图片和描述之间的文字或代码,默认是 “n” 换行。

show_images

布尔型,是否允许显示 Blogroll 下链接的对应图片。

1 (允许 – 默认)

0 (不允许)

show_description

布尔型,是否允许显示每个链接的描述。

1 (允许)

0 (不允许 – 默认)

show_rating

布尔型,是否允许显示链接的等级。

1 (允许)

0 (不允许 – 默认)

show_updated

布尔型,是否允许显示最近更新后的时间戳。

1 (允许)

0 (不允许 – 默认)

hide_invisible

布尔型,是否显示所有的链接,甚至是被管理员设为不可见的链接,默认允许显示。

1 (允许 – 默认)

0 (不允许)

get_links 函数的参数:

get_links(category, 'before', 'after','between', show_images, 'order',show_description,show_rating, limit,show_updated, echo);

==========================================================

其中catagory为友情链接显示模式;before为显示在友情链接前端参数,after为后;between为每条友情链接之间的参数。show_images是否显示Logo,order排列方式;show_description显示链接描述,show_rating显示等级,limit显示链接个数,show_updated显示最后一次更新时间。

order是按照什么排序,可以包括:

'id'
'url'
'name'
'target'
'category'
'description'
'owner'  - User who added link through Links Manager.
'rating'
'updated'
'rel' - Link relationship (XFN).
'notes'
'rss'
'length' - The length of the link name, shortest to longest.
<?php get_links('2', '<li>', '</li>', '<br />', FALSE, 'id', FALSE, FALSE, -1, FALSE); ?>

意思是显示分类ID为2的链接,以链接的ID排序,不显示链接的Logo,不显示链接的描述,不显示等级,分类2下的链接全部显示,不显示最后一次更新时间。把上面的2换成-1则是显示全部链接。

这个的缺陷就是不能显示链接分类目录名,要自己添加,而wp_list_bookmarks 函数就不需要这么做,正因为这样的方便,wp_list_bookmarks 函数取代get_links 函数就理所当然了。

好了,其他的就靠CSS去控制了,当然更重要的是大家写出符合自己的友情链接显示方式才是王道。

本文固定链接: http://www.weisay.com/blog/wordpress-links-show.html | 威言威语

WordPress友情链接的显示方式:目前有92 条评论

  1. avatar
    56楼
    破小懿 Google Chrome Windows

    :cool: 搞定了,感谢

    2015-02-12 23:07 [回复]
  2. avatar
    55楼
    梦轩丽人 Google Chrome Windows

    很详细的介绍,博主非常用心分享!

    2014-07-17 17:43 [回复]
  3. avatar
    54楼
    RMBer Mozilla Firefox Windows

    不知道有没有链接样式

    2014-03-15 13:56 [回复]
  4. avatar
    53楼
    花少 Google Chrome Windows

    用了,很给力 :cool:

    2013-08-15 20:42 [回复]
  5. avatar
    52楼
    小强文摘 Google Chrome Windows

    不错,谢谢威老师分享,有时间试试

    2013-01-29 11:51 [回复]
  6. avatar
    51楼
    随意博客 Internet Explorer Windows

    讲的很全面,顶你! :cool:

    2012-10-29 01:47 [回复]
  7. avatar
    50楼
    Lanfox Internet Explorer Windows

    我想把友情链接象你的一个显示成http://www.weisay.com/blog/link
    我怎么弄都弄不了..可以教一下我怎么生成link这个目录吗?

    2012-06-09 21:59 [回复]
  8. avatar
    49楼
    chanbee Internet Explorer Windows

    我想友情链接横着显示怎样实现呢?不想竖着显示

    2012-03-13 14:43 [回复]
  9. avatar
    48楼
    橄榄油 360安全浏览器 Windows

    还没弄明白,有点难呀

    2012-03-03 05:07 [回复]
  10. avatar
    47楼
    朱定聪 Google Chrome Windows

    :wink: 通过函数实现呀~~!

    2012-02-25 04:49 [回复]
  11. avatar
    46楼
    五月兰 360安全浏览器 Windows

    额,有点晕啊。。。。 :?:

    2012-02-12 21:29 [回复]
  12. avatar
    45楼
    iHoter Internet Explorer Windows

    :grin: 这个很有用,记下了。

    2011-12-13 10:42 [回复]
  13. avatar
    44楼
    象牙塔 Internet Explorer Windows

    学习了 ,好东西呀

    2011-12-09 18:14 [回复]
  14. avatar
    43楼
    上山若水 360安全浏览器 Windows

    向博主学习了,谢谢

    2011-11-24 22:36 [回复]
  15. avatar
    42楼
    Robin Internet Explorer Windows

    :?: 有个小问题 那个between是不是只有默认/n换行啊 博主主题里用了title_li最终的形式 但是看看您的源码 标签都是换行的 能不能不换行啊 就像连续下来的 试了很多方法不行 虚心求教!

    2011-11-13 22:43 [回复]
    • avatar
      William Google Chrome Windows

      你说的是我link页面么?
      那个换行都是通过CSS控制的

      2011-11-13 22:51 [回复]
      • avatar
        Robin Internet Explorer Windows

        谢谢 博主 总是在您的博客里发现问题 呵呵 都是自己解决了 希望weisay越走越好…呵呵… :cool: 我也要努力了

        2011-11-15 22:15 [回复]
  16. avatar
    41楼
    华夏动漫 360安全浏览器 Windows

    没看懂。。

    2011-10-11 14:58 [回复]
  17. avatar
    40楼
    家桥 Google Chrome Windows

    从百度上搜索来的,谢谢。。。解决了我的难题。。。我把链接分了几类,首页又只想显示友情链接这一类。。。不知道怎么搞。。。现在知道了。。。

    2011-09-28 10:37 [回复]
    • avatar
      William Google Chrome Windows

      我也喜欢分类,这样清楚,都放首页太多,所以要分类显示。 :wink:

      2011-09-29 10:30 [回复]
  18. avatar
    39楼
    唧唧鸟 枫树极速浏览器 Windows

    很好哦,正需要,想加上友情链接呢 :shock:

    2011-09-21 10:49 [回复]
  19. avatar
    38楼
    winw Internet Explorer Windows

    这个太能折腾了吧,不懂代码的人不懂折腾啊

    2011-07-27 21:19 [回复]
    • avatar
      William Mozilla Firefox Windows

      稍稍懂些就能开始折腾啦~

      2011-07-30 14:12 [回复]
  20. avatar
    37楼
    seoer Mozilla Firefox Windows

    很有用的东西!

    2011-06-04 13:09 [回复]
  21. avatar
    36楼
    贵港SEO Mozilla Firefox Windows

    一直在研究友情链接的显示,学习了,终于找到函数了,只是还没找到参数

    2011-05-20 18:31 [回复]
    • avatar
      William Internet Explorer Windows

      参数自己调用,想用什么就写什么,方便

      2011-05-22 00:56 [回复]
  22. avatar
    35楼
    许岑 Mozilla Firefox Windows

    get_links其实也很强大啊

    2011-03-28 17:33 [回复]
    • avatar
      William Maxthon Windows

      其实都强大,看怎么用了

      2011-03-30 16:54 [回复]
  23. avatar
    34楼
    Paran Internet Explorer Windows

    william什么时候转到wordpress了 不用pjblog了啊 哈哈

    2011-02-19 01:55 [回复]
  24. avatar
    33楼
    t加B Internet Explorer Windows

    学习了

    2011-01-13 02:25 [回复]
  25. avatar
    32楼
    xuan律 Internet Explorer Windows

    正为另一个站的友情链接发愁,突然想起你写过这么一篇文章,嘿嘿,刚好利用上了

    2011-01-10 15:05 [回复]
  26. avatar
    31楼
    sweetbao Internet Explorer Windows

    最近转到WP了,发表一篇新日志后发现文字字体比较小,上下行文字之间的间距也比较近,如何可以修改成你正文中的文字显示效果呢?还是使用插件来实现?

    2011-01-03 16:36 [回复]
    • avatar
      William Mozilla Firefox Windows

      加个CSS熟悉就行了,line-height:22px 这个加到文章的那个CSS里面。

      2011-01-03 22:51 [回复]
      • 太抽象,我比较小白,可以具体点么。是加到模板中的page.php呢?还是single.php?加到哪段代码里呢?还有显示的字体效果可以更改吗?

        2011-01-04 09:02 [回复]

发表评论

question razz sad smile redface biggrin surprised eek confused cool lol mad rolleyes wink neutral cry

快捷键:Ctrl+Enter