威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 设计 > 正文

WordPress友情链接的显示方式

自定义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

字符串型,位于链接分类之前的文字或代码。默认的设置是:<li id="[category id]">

category_after

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

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去控制了,当然更重要的是大家写出符合自己的友情链接显示方式才是王道。

您可能还会对这些文章感兴趣!

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

  1. 56楼

    :cool: 搞定了,感谢

    2015-02-12 23:07 回复
  2. 55楼

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

    2014-07-17 17:43 回复
  3. 54楼
    RMBerFirefox 27.0 Windows XP

    不知道有没有链接样式

    2014-03-15 13:56 回复
  4. 53楼
    花少Google Chrome 28.0.1500.71 Windows 7

    用了,很给力 :cool:

    2013-08-15 20:42 回复
  5. 52楼

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

    2013-01-29 11:51 回复
  6. 51楼

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

    2012-10-29 01:47 回复
  7. 50楼
    LanfoxInternet Explorer 9.0 Windows 7

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

    2012-06-09 21:59 回复
  8. 49楼

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

    2012-03-13 14:43 回复
  9. 48楼

    还没弄明白,有点难呀

    2012-03-03 05:07 回复
  10. 47楼

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

    2012-02-25 04:49 回复
  11. 46楼

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

    2012-02-12 21:29 回复
  12. 45楼
    iHoterInternet Explorer 9.0 Windows 7

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

    2011-12-13 10:42 回复
  13. 44楼

    学习了 ,好东西呀

    2011-12-09 18:14 回复
  14. 43楼

    向博主学习了,谢谢

    2011-11-24 22:36 回复
  15. 42楼
    Robin:Internet Explorer 8.0 Windows XP

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

    2011-11-13 22:43 回复
    • WilliamGoogle Chrome 15.0.874.120 Windows 7

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

      2011-11-13 22:51 回复
      • Robin:Internet Explorer 8.0 Windows XP

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

        2011-11-15 22:15 回复
  16. 41楼

    没看懂。。

    2011-10-11 14:58 回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

question razz sad smile redface biggrin shock confused cool lol mad rolleyes wink cry