wordpress自定义 友情链接

为wordpress增加友情链接内页

由于最近在整理友情链接,感觉有些邻居的网站维护较少,权重与收录也很少。近期度娘也出台了新的绿萝算法,为了避免网站被新的算法波及,考虑将一些收录于权重较低的网站暂时移至内页。参考了其他博客的做法,基本上都是通过创建一个新的page页面来作为内页友情链接页面。

wordpress通过后台可以添加与管理友情链接,但是自身并不带有内页页面的功能。考虑到使用的便捷性与准确性,决定使用wp_list_bookmarks友情链接调用函数,配合单独的内页模板来完成这项工作。具体实例可以参看本博的内页友情链接页面

实现方法如下:

1.创建一个新页面,将页面的固定链接设置为link。

2.复制你主体根目录下的page.php,并将其改名为page-link.php。(实际上这个文件的page- 后面的名称可以按照自己的喜好定义。在创建页面时,需要将页面的地址与这个名称对应。)

3.在新建的page-link.php页面中的对应位置,插入<?php wp_list_bookmarks(); ?> 保存上传后,内页友情链接页面即可调用所有的友情链接了。

通过上面的三个步骤,可以在友情链接页面中调用所有的友情链接,但是直接使用wp_list_bookmarks函数调用的话,友情链接内页页面会将所有的友情链接全部调用出来,包含首页的友情链接。这样一来,在首页的友情链接也会出现在内页,形成了双重的出站链接。为了避免这样的情况,可以在wp_list_bookmarks函数中设置其参数“category”,通过选择对应的链接分类,调用指定的友情链接。

例如:<?php wp_list_bookmarks('category=1'); ?> 表示这段代码只调用链接分类ID为1的链接内容。可以通过这串的代码选择性的调用所需的友情链接部分,甚至可以创建多个友情链接内页。

wp_list_bookmarks参数整理:

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 后台链接设置界面下的那些参数来进行排序:

1.'id’

2. 'url’

3. 'name’

4. 'target’

5. 'description’

6. 'owner’

7. 'rating’

8. 'updated’

9. 'rel’ - 按设定的关系排列

10. 'notes’

11. 'rss’

12. 'length’ - 连接名称的长度设定

13. '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 (不允许)

wp_list_bookmarks函数可以用于wordpress的所有页面中,因此通过上面的函数与设置可以在任何地方调用站点的友情链接。

wordpress默认的友情链接排序是按照名字来的,如果名字首字母靠后那就只能排到后面了,有没有办法能够直接修改wordpress友情链接的顺序排序呢?

修改WordPress友情链接排序的方法

打开 wp-includes/bookmark-template.php 文件。搜索 “ wp_list_bookmarks ”,找到如下代码:

function wp_list_bookmarks( $args = '' ) {
	$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' => '<h3>', 'title_after' => '</h3>',
		'category_orderby' => 'name', 'category_order' => 'ASC',
		'class' => 'linkcat', 'category_before' => '<li id="%id" class="%class">',
		'category_after' => '</li>'
	);

那其中的红色的name替换成ID就是按照友情链接后台的ID排序了。

注意 ‘orderby’ => ‘name’ 这部分就是系统的按照链接名字来排序的代码段。只需要修改这部分为对应的参数就可以了。

这里是部分排序代码代表的顺序意思:

‘id’ – 链接的后台ID编号
‘url’ – 链接的URL地址
‘name’ – 链接的网站名称
‘target’ – 链接的打开方式
‘description’ – 链接的描述
‘owner’ – 链接的创建者
‘rating’ – 链接的分级(注意:评分低的在前)
‘updated’ – 链接的发布时间
‘rel’ – 链接与本站的关系 (XFN).
‘notes’ – 链接的备注
‘rss’ – 链接的feed地址
‘length’ – 链接的网站名称的字符串长度
‘rand’ – 随机排序替换完成后,只要保存就可以了。

如果你不喜欢改代码,可以直接通过My Link Order插件来实现,插件的使用比较简单,只需要安装就可以了。