WordPress函数:wp_list_categories(分类列表)实例及原理
原型:wp_list_categories( string|array $args = ” )
1、默认情况下,该函数生成无序列表,你应该使用<ul></ul>对其生成的内容进行包裹。
2、wp_list_categories()和list_cats()以及wp_list_cats()的使用类似,但是后面 2 个已经弃用。
3、如果你希望将这个结果作为变量的话,可以将”echo”=>0,然后按变量进行操作。
4、也可以使用get_categories(),来获取分类变量。
5、此函数的参数,接收字符串或数组,具体请见下面实例。
6、以下例子测试环境Wordpress4.8
<?php $args = array( "title_li"=>'<h2>' . __( '金三国', 'textdomain' ) . '</h2>', "show_option_all"=>'首页', "orderby"=>'ID', "style"=>'list', "show_count"=>1, "hide_empty"=>0, "use_desc_for_title"=>1, "child_of"=>0, "exclude"=>1, "hierarchical"=>1, "echo"=>1, "current_category"=>1, "hide_title_if_empty"=>1, "taxonomy"=>'category' ); wp_list_categories($args); ?>
不要被这些参数吓到,其实它很简单,你只需了解英文的大概意思即可,我们来看实例。
实例一、按字母顺序排序分类,只包括类别ID为2,4,7,9 的分类,你可以使用下面的代码:
<?php wp_list_categories('orderby=name&include=2,4,7,9'); ?>
实例二、根据名称排列,显示文章数,并且排除ID为7的分类:
<?php wp_list_categories('orderby=name&show_count=1&exclude=7'); ?>
实例三、 显示分类名称,显示分类所属的文章数量
<?php wp_list_categories('show_count=1&title_li=category'); ?>
实例四、显示分类下的子分类,包括文章数量,同时显示空的子分类
<?php wp_list_categories('child_of=5&title_li=&show_count=1&hide_empty=0'); ?>
实例五、你可以指定分类目录的标题及样式
<?php wp_list_categories('title_li=<h2>' . __( '金三国', 'textdomain' ) . '</h2>'); ?>
实例六、如果你不打算使用无序列表形式的分类,可以参考超链与换行形式的。
<?php wp_list_categories('style=0'); ?>
实例七、根据分类名称进行排序,显示文章数量,并且显示每个分类的 RSS 订阅链接
<?php wp_list_categories('orderby=ID&show_count=1&feed=RSS'); //现在很不常用了 ?>
实例八、在分类显示的超链接中,使用title属性,利于SEO
<?php wp_list_categories('use_desc_for_title=1'); ?>
然后我们来大概的看下它的参数解释,不必担心,该函数你只需要知道它的存在及简单使用即可,因为不怎么用了。
show_option_all | 指定站点首页的超链接 | 首页的名称(字符串) |
order | 升序或降序 | ASC升序(默认)、
DESC降序 |
style | 分类列表显示的样式 | list 输出li,
none 使用<br >标签分隔列表项 |
show_count | 是否显示文章数量 | 1,0 |
hide_empty | 是否隐藏没有文章的分类 | 1,0 |
use_desc_for_title | 是否在链接显示 title 属性 | 1,0 |
child_of | 只显示此参数确定的分类的子分类 | 为8 显示ID为 8 的分类的子分类
为0则显示分类的所有子类 |
exclude | 排除一个或多个分类。使用逗号分隔每个分类的ID,参数 include 必须为空。 | 4,7 |
exclude_tree | 排除分类树。使用逗号分隔每个分类的ID,参数 include 必须为空。 | |
include | 只显示特定的分类,使用逗号分隔每个分类的ID | 3,5,9,16 |
hierarchical | 是否按层级显示分类 | 1,0 |
title_li | 设置列表的标题,默认为“Categories”。 | 传递空字符串禁用 |
echo | 显示结果或保存在一个变量里 | 1,0 |
depth | 显示分类的深度(即显示多少层的子分类) | 0 – 所有分类和子分类(默认) -1 – 所有类别显示在平面(不缩进)的形式(覆盖hierarchical)。 1 – 只显示*分类 n – 任意大于1的值,根据n的具体数字来显示对应等级的分类。 |
current_category | 默认为0,在当前分类下加样式值,便于美化 | 为0则根据页面动图添加当前样式值,填指定分类id,则仅在指定分类中添加样式值 |
pad_counts | 父分类的文章数是否包括子分类的链接或文章数。 | 1,0 |
taxonomy | 给定分类法 | 默认category |
随着Wordpress版本的更新,此函数的使用频率越来越低,本wordpress教程的意义在于,你只需了解以上例子功能、使用的环境,即可,比如,你碰到需要调阅分类的时候,能想起这个函数就可以了。