有人问我怎么实现类似我博客的友情链接显示方式,就是只有部分显示在首页,而其他的则没有,而是显示在了博客链接页面了。
其实这个很简单,稍稍对链接加点定义就可以实现这样的效果,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函数来的更加方便。
其实你把函数中参数的意思看明白的话,想写出什么样的链接显示方式都是可以的,重要的还是大家的发挥,符合自己的才是最好的。
默认情况下(没有添加任何参数)的用法:
- 链接被划分为不同类别,每个类别有一个名称
- 包含所有链接,无论是链接的分类名称还是ID
- 按名称排列链接列表
- 如果有图片,包含图片
- 图片和链接文本间应有空格
- 显示链接的描述
- 不显示链接等级
- 无限制,显示所有链接
- 显示所有链接
wp_list_bookmarks()参数详解
categorize
(布尔型)是否所有链接都应该显示在相应的分类目录下。
- 1 (true)——默认值
- 0(false)
category
(字符串)将要显示的链接分类目录的ID,用逗号隔开。如果没有指定分类,显示所有含有链接的链接分类。
exclude_category
(字符串)将被排除的链接分类目录的ID,用逗号隔开。默认值为 (no categories excluded)(不排除任何链接分类)。
category_name
(字符串)将要显示的链接所属分类的名称。如果没有指定分类,显示所有含有链接的链接分类。默认值为 (all Categories)(所有链接)。
category_before
(字符串)放置在每个链接分类目录前的文本。默认值为'<li id="[category id]" class="linkcat">’。
category_after
(字符串)放置在链接分类目录后的文本。默认值为'<‘/li>’。
class
(字符串)链接分类列表所在类。默认值为’linkcat’。
category_orderby
(字符串)用以排列链接分类的值。有效值包括:
- ‘name’ ——默认值
- ‘id’
- ‘slug’
- ‘count’
category_order
(字符串)排列的顺序,以升序或降序排列category_orderby参数值。有效值包括:
- ASC ——默认值
- DESC
title_li
(字符串)链接列表的标题。默认值为 ‘__(‘Bookmarks’)’,显示标题为“Bookmarks”(the_(‘ ‘)用于本地化。)只有将categorize设为0(false)时,才可使用该参数(否则将使用分类名称)。若将title_li设为空(0),则不显示列表标题,且链接列表不会被 <ul>, </ul>标签围绕(要确保将categorize选项设为0,以使title_li生效)。
title_before
(字符串)’categorize’值为1(true)时显示在每个链接类别前的文本,或’categorize’值为0(false)时在’title_li’中定义的文本。 默认值为'<h2>’。
title_after
‘categorize’值为1(true)时显示在每个链接类别后的文本,或’categorize’值为0(false)时在’title_li’中定义的文本。 默认值为'</h2>’。
show_private
(布尔型)是否应显示某个链接分类(即使该分类被认为是私密的)。忽略管理面板的设置,显示私密链接分类(TRUE),或者不显示私密链接分类(FALSE)。
- 1 (true)
- 0(false)——默认值
include
(字符串)在结果中包含的数值型链接ID列表,各ID用逗号隔开。例如, ‘include=1,3,6’ 表示返回或响应ID为1、3、6的链接。如果使用include字符串,那么 category、category_name、exclude参数将被忽略。默认值为 (all Bookmarks)(所有链接)。
exclude
(字符串)将要被排除的链接的ID,各ID用逗号隔开。如 ‘exclude=4,12’表示不返回ID为4和12的链接。默认值为 (exclude nothing)(不排除任何链接)。
orderby
(字符串)以何顺序为链接排序。这可能是一份各个值的列表,各值由逗号隔开。默认值为’name’,除非你传递’ ‘(空)值给该参数,此时参数值为’id’。有效值包括:
- ‘id’ (WP 3.2 及以后版本使用 ‘link_id’ )
- ‘url’
- ‘name’ ——默认值
- ‘target’
- ‘description’
- ‘owner’ —— 通过连接管理器添加链接的用户
- ‘rating’
- ‘updated’
- ‘rel’ —— 链接关系(XFN)
- ‘notes’
- ‘rss’
- ‘length’ —— 链接名称的长度,范围从最短的名称到最长的名称
- ‘rand’ —— 以任意顺序显示链接
order
(字符串)根据’orderby’参数中的设置为分类目录排序(升序或降序)。有效值包括:
- ASC ——默认值
- DESC
limit
(整数)可以显示的最大链接数。默认值为-1(所有链接)。
before
(字符串)放置在链接前的文本。默认值为'<li>’。
after
(字符串)放置在链接后的文本。默认值为'</li>’。
link_before
(字符串)超链接代码中链接文本前的文字。无默认值。
link_after
(字符串)超链接代码中链接文本后的文字。无默认值。
between
(字符串)链接/图片与其说明之间的文本。默认值为’n’(换行)。
show_images
(布尔型)是(TRUE)否(FALSE)显示链接的图片
- 1 (true)——默认值
- 0(false)
show_description
(布尔型)是(TRUE)否(FALSE)显示链接说明。该参数用于show_images为FALSE时或未定义链接图片时。
- 1 (true)
- 0(false)——默认值
show_name
(布尔型)显示链接文本(TRUE)。该参数用于show_images为TRUE时。
- 1 (true)
- 0(false)——默认值
show_rating
(字符串)是(TRUE)否(FALSE)显示链接的级别。
- 1 (true)
- 0(false)——默认值
show_updated
(布尔型)是(TRUE)否(FALSE)显示最近更新的时间标记。
- 1 (true)
- 0(false)——默认值
hide_invisible
(布尔型)是否显示公开度为“不公开”的链接。是(TRUE)否(FALSE)遵循管理面板中的设置。
- 1 (true)——默认值
- 0(false)
echo
(布尔型)显示结果(TRUE),或将结果保留以供PHP使用(FALSE)。
- 1 (true)——默认值
- 0(false)
wp_list_bookmarks()使用示例
简单的链接列表
显示所有链接,标题为“Bookmarks”,各链接项包围在<li>标签中,标题则用<h2>标签。
1 |
<?php wp_list_bookmarks('title_li=&category_before=&category_after='); ?> |
没有标题的简单列表
按上一个例子的条件显示所有链接,但不包括默认标题。
1 |
<?php wp_list_bookmarks('title_li=&categorize=0'); ?> |
显示某个分类下的所有链接
显示ID为2的链接分类下的所有链接,使用链接图片,不显示链接说明,按URL排列链接。
1 |
<?php wp_list_bookmarks('categorize=0&category=2&before=<span>&after=</span>&show_images=1&show_description=0&orderby=url'); ?> |
显示链接等级和时间标记
以数字编号列表形式显示所有链接,各链接下另起一行填写链接说明,不适用链接图片,按ID排列链接,显示链接等级和最新更新的时间。
1 2 3 |
<ol> <?php wp_list_bookmarks('between=<br />&show_images=0&orderby=id&show_rating=1&show_updated=1'); ?> </ol> |
用图片取代标题
从主题目录中选择一个图片代替普通文本作为链接列表标题。
1 |
<?php wp_list_bookmarks('categorize=0&title_before=&title_after=&title_li=<img src="'.get_bloginfo("stylesheet_directory").'/images/blogroll.gif" alt="blogroll" />'); ?> |
小结:
1.总的来说,要用好wp_list_bookmarks()函数,需要自己熟练掌握参数的用法,重要的是多多实践。