walk_category_tree()
云策文档标注
概述
walk_category_tree() 函数用于生成分类列表的 HTML 内容,通过 Walker 类实现层级遍历。它主要作为 wp_list_categories() 的内部函数,处理分类数据的渲染。
关键要点
- 函数接受可变参数 $args,包含元素数组、最大层级深度和可选参数
- 默认使用 Walker_Category 作为 Walker 实例,但可通过 $args[2]['walker'] 自定义
- 核心逻辑是调用 Walker::walk() 方法来生成 HTML 输出
- 自 WordPress 5.3.0 起,函数签名正式支持 ...$args 参数
注意事项
确保 $args[2]['walker'] 是 Walker 类的实例,否则将回退到默认 Walker_Category。
原文内容
Retrieves HTML list content for category list.
Description
See also
- Walker::walk(): for parameters and return description.
Parameters
$argsmixedrequired-
Elements array, maximum hierarchical depth and optional additional arguments.
Source
function walk_category_tree( ...$args ) {
// The user's options are the third parameter.
if ( empty( $args[2]['walker'] ) || ! ( $args[2]['walker'] instanceof Walker ) ) {
$walker = new Walker_Category();
} else {
/**
* @var Walker $walker
*/
$walker = $args[2]['walker'];
}
return $walker->walk( ...$args );
}