Wordpress对链接的管理,比较弱,例如: 不能设置 排序方式, 不能设定 链接显示的条数 等
wordpress 已经到了 2.7 版了, 以前的管理链接的插件, 不知好不好用了, 而且, 如果是用 wordpress自带的 widget 显示链接的话, 插件也不太灵,而且毕竟消耗资源,所谓“自己动手, 丰衣足食“,下面我们自己动手来修改 wordpress 的 链接显示的排序方式,和首页链接显示的个数, GO!
从wordpress 2.1开始,WP提供的展示链接的函数改为 wp_list_bookmarks ,之前的版本,用 wp_getlinks ,我们这里讲的 2.1+ 版本的 WP。
wp_list_bookmarks 的使用方式,请参见 wp_codebox ,我这里只列出本文用到的核心的几个参数
orderby: 显示链接的排序方式,默认是 name,要自定义排序,就用这个参数
取值范围:
limit: 显示的链接个数,默认是 -1(全部),要限制显示条数,就用这个参数
order: 排序的升降, 默认是 升序 ASC, 如果降序,用 DESC
修改wordpress自带的 widgets 中的链接:
打开 wordpress 下的 wp-includes 目录,找到 widgets.php ,wordpress的 widgets的显示工作,是由该文件负责的,先备份一个该文件, 然后打开该文件, 定位到 function wp_widget_links,会看到代码如下:
上面的内容中, 根本没有涉及 orderby, order 和 limit 的东西, 所以, 就全部用的是 WP 的默认值
下面,我们实现自定义的需求,就是修改上面的内容, 加入自己的自定义内容,修改后的代码如下:
<?php /** * Display links widget. * * @since 2.2.0 * * @param array $args Widget arguments. */ function wp_widget_links($args) { extract($args, EXTR_SKIP); $before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget); wp_list_bookmarks(apply_filters('widget_links_args', array( 'title_before' => $before_title, 'title_after' => $after_title, 'category_before' => $before_widget, 'category_after' => $after_widget, 'show_images' => true, 'class' => 'linkcat widget' ,'limit' => 15 /*显示多少条*/ ,'orderby' => 'rating' /*排序字段*/ ))); echo '<span style="float: right; padding-right: 5px"><a href="http://www.zu14.cn/links/">更多链接»</a></span>'; } ?>
大家可以看到,上面的修改部分,只是增加了两个参数的值, limit 和 orderby 这就实现了显示条数的限制,和自定义排序的功能,同时增加了一个 更多链接 的链接,以便显示全部,前提是你已发布了链接页面
修改主题中的链接显示模式
主题中的链接管理, 通常是在主题中包含的 links.php 之类的名字(不同主题,可能有不同),找到这个文件,定位到里面的 wp_list_bookmarks, 仿照上面给这个函数增加参数即可,我就不举例了