widget_categories_args
云策文档标注
概述
widget_categories_args 是一个 WordPress 过滤器,用于修改 Categories 小部件的参数。它在默认的“WordPress Widget: Categories”调用 wp_list_categories() 函数之前应用,允许开发者自定义分类列表的显示选项。
关键要点
- 过滤器名称:widget_categories_args
- 参数:$cat_args(数组,Categories 小部件选项)和 $instance(数组,当前小部件设置)
- 用途:在 wp_list_categories() 调用前过滤参数,常用于排除特定分类或调整显示设置
- 版本历史:从 2.8.0 引入,4.9.0 添加了 $instance 参数
代码示例
add_filter( 'widget_categories_args', 'widget_categories_args_filter', 10, 1 );
function widget_categories_args_filter( $cat_args ) {
$exclude_arr = array( 4 );
if( isset( $cat_args['exclude'] ) && !empty( $cat_args['exclude'] ) )
$exclude_arr = array_unique( array_merge( explode( ',', $cat_args['exclude'] ), $exclude_arr ) );
$cat_args['exclude'] = implode( ',', $exclude_arr );
return $cat_args;
}注意事项
- 示例代码展示了如何通过 exclude 参数隐藏特定分类(如 ID 为 4 的分类),并处理现有 exclude 参数以确保兼容性
- 开发者应确保过滤器函数正确返回修改后的 $cat_args 数组
原文内容
Filters the arguments for the Categories widget.
Parameters
$cat_argsarray-
An array of Categories widget options.
$instancearray-
Array of settings for the current widget.
Source
wp_list_categories( apply_filters( 'widget_categories_args', $cat_args, $instance ) );
Skip to note 2 content
Steven Lin
Example migrated from Codex:
To hide some categories create a filter function in your
functions.phpfile and hook it to thewidget_categories_argsfilter. In this function, add the exclude parameter to the arguments list. Currently, in Version 3.3.2, the exclude parameter is not provided, but for future compatibility you should decide how you want to handle an already existing exclude parameter.add_filter( 'widget_categories_args', 'widget_categories_args_filter', 10, 1 ); function widget_categories_args_filter( $cat_args ) { $exclude_arr = array( 4 ); if( isset( $cat_args['exclude'] ) && !empty( $cat_args['exclude'] ) ) $exclude_arr = array_unique( array_merge( explode( ',', $cat_args['exclude'] ), $exclude_arr ) ); $cat_args['exclude'] = implode( ',', $exclude_arr ); return $cat_args; }