友情链接函数wp_list_bookmarks()全析

友情链接函数wp_list_bookmarks()全析

2010年7月2日 发表评论 阅读评论
友情链接 互惠互利

友情链接 互惠互利

随着我的精心照顾,不得言博客终于得到了不断壮大,流量也渐渐提高。随之而来需要我去面对的就是友情链接问题。不得言博客友情链接申请的申请条件,十分简单,只要是以原创为主,更新及时,不反国家、反人民,整个博客必须给我“青天白日红太阳,祖国和人民都好,你也很好”的感觉,那就成了。合作归合作,有个问题必须丑话说在前头。

抛开网站大小、流量高低、搜索引擎优化等方面的成分,咱们之间既然做了友情链接就是对等的。决不能出现我给你全站链接,而你仅仅给我个首页链接,或干脆友情链接页面的链接。如果加入上面抛开的成分而言,起码对等才好。友情友情,提倡礼尚往来,平起平坐。因此摆在不得言面前的就是:我需要让我的WordPress博客支持首页链接、全站链接、站内链接、友情链接页面链接,四种链接方式。

搜寻友情链接插件不是一两天了,早在一周前就开始寻找,却苦于没有合乎要求的,终日为此事闷闷心头。最后不得已我只好自己DIY一下了。这则日志则是我DIY开始的准备工作。首先是WordPress提供的友情链接函数:wp_list_bookmarks(),下面是这个函数参数,以及具体的使用办法。

01 $defaults array(
02  'orderby' => 'name',
03  'order' => 'ASC',
04  'limit' => -1,
05  'category' => '',
06  'exclude_category' => '',
07  'category_name' => '',
08  'hide_invisible' => 1,
09  'show_updated' => 0,
10  'echo' => 1,
11  'categorize' => 1,
12  'title_li' => __('Bookmarks'),
13  'title_before' => '<h2>',
14  'title_after' => '</h2>',
15  'category_orderby' =>'name',
16  'category_order' => 'ASC',
17  'class' => 'linkcat',
18  'category_before' => '<li id="%id" class="%class">',
19  'category_after' => '</li>'
20  );
WordPress的wp_list_bookmarks函数

WordPress的wp_list_bookmarks函数

上述代码你可以在文件夹wp-includes里的bookmark-template.php文件里找到。函数在第198行。上面代码是我复制于此函数的部分代码,为大家看的方便我对数组进行了重新排版。它是使用wp_list_bookmarks()前必须掌握的精髓。在此函数上面(134-197行)是函数的使用说明,讲述了此函数的使用注意事项及技巧,我相信很多朋友看到英文头就大,这里我给大家翻译一下,并加入官方的一些介绍。

orderby:字符串类型,用于指定以什么方式排序,默认为空则以“NAME”排序。你可以使用下列参数进行排序:id、url、name、target、owner、updated、rating、rel、notes、rss、length、rand、description。

1 <?php wp_list_bookmarks('orderby=id&order=asc'); ?>
2  
3 <?php wp_list_bookmarks('orderby=id&order=desc'); ?>

运行一下就能得知,此是设定以什么类型进行正序还是倒序排列,排列是在类别内部。也就是说这个是友情链接分类里的链接(书签)排序方式。

order:字符串型,设置升降序的排列方式,默认为空时以正序(ASC)排列。参数ASC、DESC。

limit:INT类型,后面制定每个分类里的链接数量,如下面例子limit=2将让我的三个分类,每个分类里有两个链接,默认显示所有链接。

1 <?php wp_list_bookmarks('limit=2'); ?>

扩展,如果再在后面加入Order排序构成“limit=2&order=desc”将会是什么效果呢?是的,你一定发现,这里是对所有分类的链接进行各自排列后,截取两个链接予以显示,而不是先读取两个然后排序。因此你友情链接多的时候,请注意这一点,别迷糊了。

category:字符串型,用于显示指定的分类友情链接,多分类用半角字符“,”分割。默认显示所有分类。举例:

1 <?php wp_list_bookmarks('category=2,3'); ?>

上面的例子是让你的友情链接只显示ID为2和3的,其他不予理睬。这里请注意,系统安装好以后就没有ID为1的分类,系统的默认分类已经是2了;还有在显示分类时,请实现确定分类的ID。

exclude_category:字符串类型,指定隐藏(不显示)的分类,相当于category的取反。多分类用半角字符“,”分割。默认不隐藏。举例:

1 <?php wp_list_bookmarks('exclude_category=2,3'); ?>

这个和上面的例子正好相反,它让你指定的友情链接分类隐藏起来。这个在你分类特别多的时候有奇效。这里足以体现WordPress设计的体贴入微。

category_name:字符串类型,用于指定显示某一个分类的书签标题名称,默认为显示所有。这个我不知道怎么用,谁能告诉我调用方式,请留言,谢谢。

categorize:是否显示分类友情链接(书签)标题,0是不显示,1是显示,默认是1显示。实例举证:

1 <?php wp_list_bookmarks('categorize=0'); ?>

修改成这样,你的友情链接将没有分类标题。同样“categorize=1”将让你的标题重新出来,当然categorize的默认值就是1,因此可以“categorize=”或直接忽略掉。

title_before、title_after:title_before用于定义友情链接(书签)源代码前半部分,默认值是“<h2>”;title_after用于定义友情链接(书签)源代码后半部分,默认值是“</h2>”。实例举证:

1 <?php wp_list_bookmarks('title_before=<h1>&title_after=</h1>'); ?>

这样修改,将使你的友情链接(书签)变成H1的大标题,查看HTML源代码,将会是“<h1>分类链接标题</h1>”。请注意title_before和title_after请呼应,就如同本例中使用“<h1></h1>” 呼应,不然可能会造成布局错乱。

title_li:自定义友情链接(书签)标题。只有在categorize=0时才能使用。达到自定义的目的,这里可以是图片哦。实例举证:

1 <?php wp_list_bookmarks('categorize=0&title_li=BUDEYAN LINKS'); ?>
2 <?php wp_list_bookmarks('categorize=0&title_li=<img src="'.get_bloginfo("stylesheet_directory").'/images/blogroll.gif"alt="blogroll" />'); ?>

第一种方式,将让你的友情链接拥有一个自定义的标题“BUDEYAN LINKS”,而第二个则让你的友情链接(书签)拥有一个漂亮的图片标题。get_bloginfo(“stylesheet_directory”)是获得当前模板的目录,在测试第二步时,请确保您的图片存在,并保证路径无错。

category_orderby:设置链接以什么方式排序,可以使用参数:name、id、slug、count,需和order一起使用。实例举证:

1 <?php wp_list_bookmarks('category_orderby=id&order=desc'); ?>
2 <?php wp_list_bookmarks('category_orderby=&order='); ?>

上面这种方式,将让您的友情链接(书签)以ID方式倒序排列,即后添加的在前面。第二例子中,将以name正序排列,后添加的在后面,这是系统默认方式(因此你如此修改,看不到变化,更是多此一举的做法——咱们在这里举例是为了好理解)。

category_before和after自定义使用

category_before和after自定义使用

category_before、category_after:category_before指定友情链接(书签)分类的HTML代码前面内容,category_after指定链接分类的HTML代码后面内容。如左图所示,我定义了一个类别为diy的DIV,用下面的例子就能实现其效果,大家可以看到,它把友情链接分类和分类里的链接一起放到了我定义的DIV里。

1 <?php wp_list_bookmarks('category_before=<div class="diy">&category_after=</div>'); ?>

上面例子中,让每个友情链接分类作为一个整体放进<div ></div>标签,可以自定义diy样式里,来控制显示。这里也是让你的友情链接两列,三列排列的精髓。我将在更深入修改友情链接部分探讨。

category_order:设置链接分类的正序、倒序排列,默认ASC,可选参数:ASC、DESC。举例:

1 <?php wp_list_bookmarks('category_order=asc'); ?>
2  
3 <?php  wp_list_bookmarks('category_order=desc');  ?>

上面两个测试,第一个不会有啥变化,因为是采用默认方式,第二个将正好相反,是倒序排列,大家可以把其和上面category_before、category_after例子配合使用,多多动手,这里我就不再骜述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值