在前面的章节中,我们介绍了基于page页面的wordpress网站导航菜单的函数——wp_list_pages()。今天,我们再来介绍第二种导航菜单的方式——基于wordpress网站的文章分类目录的导航菜单,这种wordpress导航菜单是通过wp_list_categories()函数来实现的,它可以将wordpress网站的分类目录展示在wordpress网站前台的导航菜单中。下面,我们一起来看看如何使用wp_list_categories()来创建wordpress网站导航菜单吧。
一、wp_list_categories()函数用法。
wp_list_categories( string|array $args = '' );
这个函数有一个参数,它的参数既可以是字符串类型的数据,也可以是一个数组类型的数据,这点跟wp_list_pages()函数类似。
二、wp_list_categories()函数的参数详解。
$args = array('show_option_all' => '',//是否列出分类链接;'orderby' => 'name',//按名称排列;'order' => 'ASC',//分类目录的排序。升、降序;'style' => 'list',//是否用列表(ul>li)标签;'show_count' => 0,//是否显示文章数量;'hide_empty' => 1,//是否显示没有文章的分类;'use_desc_for_title' => 1,//是否显示分类描述;'child_of' => 0,//是否限制子分类 ;'exclude' => '',//排除分类的ID,多个用',(英文逗号)'分隔;'exclude_tree' => '',//排除分类树,即父分类及其下的子分类;'include' => '',//包括哪些分类的ID;'title_li' => 'Categories',//导航菜单的列表标题名称;'show_option_none' =>'No categories',//网站没有分类时显示的标题;'number' => null,//显示分类的数量;'echo' => 1,//是否打印到前台页面显示,1显示,0不显示而是返回字符串;'hierarchical' => true,//是否将子、父分类分级;'depth' => 0,//层级限制;'current_category' => 0,//指定分类ID,在前台页面链接添加current-cat的CSS类,方便修改样式;'pad_counts' => 0,//计算包括子分类的链接或文章数;'taxonomy' => 'category',//使用的文章分类类型;'walker' => null//生成列表 Walker 类;);
以上,我们列举了wp_list_categories()函数的主要的参数,以及它们都代表什么。其实,在我们的实际使用中,并不是每一个参数都会用到,一般情况下,我们只会使用其中的某几个。我们会在下面的案例中具体解说。
三、wp_list_categories()案例。
案例1:分类目录导航列表按层级来排列。
$menu = array( 'depth' =>0, 'title_li'=>'', 'echo'=>1,);wp_list_categories($menu);
如下图,子分类会按层级的关系,缩进去2格;并且没有显示列表的标题。
案例2:只显示顶级分类,不显示子分类,并显示列表标题。
$menu = array( 'depth' =>1, 'title_li'=>'这是分类列表的标题', 'echo'=>1,);wp_list_categories($menu);
这里,我们把depth参数的值设成1,就表示只显示一级分类目录,子分类就不会显示;如果设成2,就会显示2级分类,子分类就会显示;如果设成3,就会显示3级分类,子分类和子分类的子分类都会显示出来;以此类推。设成0,表示所有分类都显示,并且按层级显示。另外,我们这里也添加了分类菜单的列表标题,这样,如果在侧边伴,这个标题还是非常管用的;如果是顶部导航菜单,这个标题还是省略比较好。效果如下图:
案例3:排除某些分类。也就是不让某些分类显示出来。代码如下:
$menu = array( 'depth' =>1, 'title_li'=>'', 'echo'=>1, 'exclude' => '52,81,103',);wp_list_categories($menu);
这里,我们设置了排除3个分类,它们的ID号分别是:52(亲子),81(养生),103(家居)。这样,我们在wordpress网站的前台页面的导航菜单中就看不到这几个分类目录。如下图,可以对比一下上图:
好了,关于wordpress网站分类目录导航菜单函数wp_list_categories(),这里我们就只举这几个案例,在实际应用中,我们可以根据不同的需求,来设置不同的参数,要做到灵活多变。这些参数还是很好理解的,只需多练习,就可轻松掌握。
,