WordPress后台默认的小工具未必是我们所喜欢的,当然,有些小工具自定义非常简单,比如搜索框,只要在主题目录下新建一个 searchform.php 在里面写上我们自定义的代码即可。详情可以看下wp-includesdefault-widgets.php文件,比如搜索框他是用 get_search_form() 函数获取的,也就是如果主题下存在searchform.php文件则用该文件的内容,如果没有该文件,则用默认的搜索框代码。
但是如果我要添加按评论数排序的文章,随机排序的文章该怎么办呢?这里以自定义搜索框为例,原理都是相同的。
WordPress已经给我们提供了这个函数。
<?php register_sidebar_widget( $name, $output_callback, $classname ); ?> //$name 你的小工具的名称 (必须) //$out_callback 返回的函数名称(必须) //$classname 小工具class 名称,可以用来定义样式(可选,一般只需要前两个就可以)
有了这个函数我们只需要写个方法就可以让他显示出来,在functions.php文件中加入以下代码:
<?php function my_test() { include(TEMPLATEPATH . "/widget/diysearch.php"); } register_sidebar_widget("自定义搜索框","my_test"); ?>
我在主题目录下新建了一个文件夹widget,专门用来存放常用的widget组件,该目录下我新建了diysearch.php文件,里面写上了我自定义的搜索框代码。
上面代码中,我就在名为”自定义搜索框”的小工具组件中调用了 widget目录下的diysearch.php文件。
注意:函数命名要唯一,不然会和其他函数命名一样而报错。本例函数命名为”my_test”