友情链接函数wp_list_bookmarks()全析
随着我的精心照顾,不得言博客终于得到了不断壮大,流量也渐渐提高。随之而来需要我去面对的就是友情链接问题。不得言博客友情链接申请的申请条件,十分简单,只要是以原创为主,更新及时,不反国家、反人民,整个博客必须给我“青天白日红太阳,祖国和人民都好,你也很好”的感觉,那就成了。合作归合作,有个问题必须丑话说在前头。
抛开网站大小、流量高低、搜索引擎优化等方面的成分,咱们之间既然做了友情链接就是对等的。决不能出现我给你全站链接,而你仅仅给我个首页链接,或干脆友情链接页面的链接。如果加入上面抛开的成分而言,起码对等才好。友情友情,提倡礼尚往来,平起平坐。因此摆在不得言面前的就是:我需要让我的WordPress博客支持首页链接、全站链接、站内链接、友情链接页面链接,四种链接方式。
搜寻友情链接插件不是一两天了,早在一周前就开始寻找,却苦于没有合乎要求的,终日为此事闷闷心头。最后不得已我只好自己DIY一下了。这则日志则是我DIY开始的准备工作。首先是WordPress提供的友情链接函数:wp_list_bookmarks(),下面是这个函数参数,以及具体的使用办法。
$defaults = array(
'orderby' => 'name',
'order' => 'ASC',
'limit' => -1,
'category' => '',
'exclude_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>'
);
上述代码你可以在文件夹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。
<?php wp_list_bookmarks('orderby=id&order=asc'); ?>
<?php wp_list_bookmarks('orderby=id&order=desc'); ?>
运行一下就能得知,此是设定以什么类型进行正序还是倒序排列,排列是在类别内部。也就是说这个是友情链接分类里的链接(书签)排序方式。
order:字符串型,设置升降序的排列方式,默认为空时以正序(ASC)排列。参数ASC、DESC。
limit:INT类型,后面制定每个分类里的链接数量,如下面例子limit=2将让我的三个分类,每个分类里有两个链接,默认显示所有链接。
<?php wp_list_bookmarks('limit=2'); ?>
扩展,如果再在后面加入Order排序构成“limit=2&order=desc”将会是什么效果呢?是的,你一定发现,这里是对所有分类的链接进行各自排列后,截取两个链接予以显示,而不是先读取两个然后排序。因此你友情链接多的时候,请注意这一点,别迷糊了。
category:字符串型,用于显示指定的分类友情链接,多分类用半角字符“,”分割。默认显示所有分类。举例:
<?php wp_list_bookmarks('category=2,3'); ?>
上面的例子是让你的友情链接只显示ID为2和3的,其他不予理睬。这里请注意,系统安装好以后就没有ID为1的分类,系统的默认分类已经是2了;还有在显示分类时,请实现确定分类的ID。
exclude_category:字符串类型,指定隐藏(不显示)的分类,相当于category的取反。多分类用半角字符“,”分割。默认不隐藏。举例:
<?php wp_list_bookmarks('exclude_category=2,3'); ?>
这个和上面的例子正好相反,它让你指定的友情链接分类隐藏起来。这个在你分类特别多的时候有奇效。这里足以体现WordPress设计的体贴入微。
category_name:字符串类型,用于指定显示某一个分类的书签标题名称,默认为显示所有。这个我不知道怎么用,谁能告诉我调用方式,请留言,谢谢。
categorize:是否显示分类友情链接(书签)标题,0是不显示,1是显示,默认是1显示。实例举证:
<?php wp_list_bookmarks('categorize=0'); ?>
修改成这样,你的友情链接将没有分类标题。同样“categorize=1”将让你的标题重新出来,当然categorize的默认值就是1,因此可以“categorize=”或直接忽略掉。
title_before、title_after:title_before用于定义友情链接(书签)源代码前半部分,默认值是“<h2>”;title_after用于定义友情链接(书签)源代码后半部分,默认值是“</h2>”。实例举证:
<?php wp_list_bookmarks('title_before=<h1>&title_after=</h1>'); ?>
这样修改,将使你的友情链接(书签)变成H1的大标题,查看HTML源代码,将会是“<h1>分类链接标题</h1>”。请注意title_before和title_after请呼应,就如同本例中使用“<h1></h1>” 呼应,不然可能会造成布局错乱。
title_li:自定义友情链接(书签)标题。只有在categorize=0时才能使用。达到自定义的目的,这里可以是图片哦。实例举证:
<?php wp_list_bookmarks('categorize=0&title_li=BUDEYAN LINKS'); ?>
<?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一起使用。实例举证:
<?php wp_list_bookmarks('category_orderby=id&order=desc'); ?>
<?php wp_list_bookmarks('category_orderby=&order='); ?>
上面这种方式,将让您的友情链接(书签)以ID方式倒序排列,即后添加的在前面。第二例子中,将以name正序排列,后添加的在后面,这是系统默认方式(因此你如此修改,看不到变化,更是多此一举的做法——咱们在这里举例是为了好理解)。
category_before、category_after :category_before指定友情链接(书签)分类的HTML代码前面内容,category_after指定链接分类的HTML代码后面内容。如左图所示,我定义了一个类别为diy的DIV,用下面的例子就能实现其效果,大家可以看到,它把友情链接分类和分类里的链接一起放到了我定义的DIV里。
<?php wp_list_bookmarks('category_before=<div class="diy">&category_after=</div>'); ?>
上面例子中,让每个友情链接分类作为一个整体放进<div ></div>标签,可以自定义diy样式里,来控制显示。这里也是让你的友情链接两列,三列排列的精髓。我将在更深入修改友情链接部分探讨。
category_order:设置链接分类的正序、倒序排列,默认ASC,可选参数:ASC、DESC。举例:
<?php wp_list_bookmarks('category_order=asc'); ?>
<?php wp_list_bookmarks('category_order=desc'); ?>
上面两个测试,第一个不会有啥变化,因为是采用默认方式,第二个将正好相反,是倒序排列,大家可以把其和上面category_before、category_after例子配合使用,多多动手,这里我就不再骜述。



与大家一起交流怎么使用WP,真是太愉快了。
@不得言
用什么词做链接呢
关键词用哪个呀
呵呵,没下载到这个插件,先装得了,可出现错误
申请友情链接,每天更新,原创
学习了,博主文章很精彩
老兄开启comment reply插件了吗?
为啥上面那条回复我没收到邮件提醒呢? 还好回来探访
@电脑专家博客 在后台,把鼠标放在链接分类上,下面会有提示链接。http://域名/wp-admin/link-category.php?action=edit&cat_ID=友情链接分类ID
[...] 正如我昨日写的一则日志《友情链接函数wp_list_bookmarks()全析》里所说“抛开网站大小、流量高低、搜索引擎优化等方面的成分,友情链接就是对等的。决不能出现我给你全站链接,而你仅仅给我个首页链接,或干脆友情链接页面的链接。如果加入上面抛开的成分而言,起码对等才好。友情友情,提倡礼尚往来,平起平坐。” [...]
[...] 为把WordPress博客友情链接搞好,使之能提供首页链接、站内链接、全站链接、友情链接页面链接等多方面应用。我写了《友情链接函数wp_list_bookmarks()全析》、《让您的WordPress友情链接个性化[首页、内页、全站]》,分别用以介绍WordPress友情链接方面的内容,今天咱们就实现其更高级应用。在7月4日写的文章中,我采用“建立三个友情链接分类:左邻右居(首页链接)、左居右邻(站内链接)、友情链接(全站链接),把你的友情链接进行归类。”配合插件Widget Logic的方式实现。 [...]
[...] 1、友情链接方面。首先我把友情链接,分作了首页友情链接、站内友情链接、全站友情链接等,对不同链接分别对待。使我的权重得到有效控制,不能外流的权重坚决保住。可以参考我的 《让您的WordPress友情链接个性化[首页、内页、全站]》《WordPress应用:WordPress友情链接高级进阶》。为此我还专门写《友情链接函数wp_list_bookmarks()全析》 [...]
[...] 如果您对此相对陌生,请关注我以前写的几则博文。深入探讨:友情链接给你带来多少反向链接?、WordPress应用:WordPress友情链接高级进阶、让您的WordPress友情链接个性化[首页、内页、全站]、友情链接函数wp_list_bookmarks()全析。 [...]
[...] 友情链接函数wp_list_bookmarks()全析 [...]
[...] 关于这个函数更详细的解释请看友情链接函数wp_list_bookmarks()全析。另外还可以给语句添加样式,使链接栏目风格与边栏一致。 这里以小陆使用的Wordpress Mystique主题为例: 在sidebar.php文件中找到<?php do_action(‘mystique_sidebar_end’); ?>,在这一行代码之前添加下面的语句: <?php if ( is_home() ) { ?> <li> <div class=”block-bookmarks”> <h3><span><?php _e(“Blogroll”,”mystique”); ?></span></h3> <div></div><div class=”block-div-arrow”></div> <?php wp_list_bookmarks(‘title_li=&categorize=0&category=21′); ?> </div> </li> <?php } ?> OK,这样就能区分开首页链接和全站链接了。 [...]
[...] 友情链接函数wp_list_bookmarks()全析 (2010年07月2日) [...]
[...] 正如我昨日写的一则日志《友情链接函数wp_list_bookmarks()全析》里所说“抛开网站大小、流量高低、搜索引擎优化等方面的成分,友情链接就是对等的。决不能出现我给你全站链接,而你仅仅给我个首页链接,或干脆友情链接页面的链接。如果加入上面抛开的成分而言,起码对等才好。友情友情,提倡礼尚往来,平起平坐。” [...]