将$args添加到wp_list_ategories

时间:2021-10-13 作者:Yco

我正在尝试向categories小部件的wp\\u list\\u categories添加一个参数:

function cat_list_show_all( $list, $args ) {
    $args[\'show_option_all\'] = __( \'All Cateogries\', \'textDomain\' ) . \'<span>\' . wp_count_posts()->publish . \'</span>\';
    return $args;
}
add_filter( \'wp_list_categories\', \'cat_list_show_all\', 10, 2 );
但是,它返回“;“数组”;在前端。正确的方法是什么?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

The documentation 对于wp_list_categories 过滤器显示:

过滤分类列表的HTML输出。

所以它会过滤最终的HTML,而不是参数,但您会返回$args, 这意味着最终的HTML将替换为args数组。这就是为什么你会看到;数组";。

要过滤categories小部件中categories列表的参数,需要使用widget_categories_args 滤器

function cat_list_show_all( $args ) {
    $args[\'show_option_all\'] = __( \'All Cateogries\', \'textDomain\' ) . \'<span>\' . wp_count_posts()->publish . \'</span>\';
    return $args;
}
add_filter( \'widget_categories_args\', \'cat_list_show_all\' );
但是,请注意,此过滤器仅适用于;“遗产”;类别小部件。较新的站点将只能访问类别块。Categories块没有等效的过滤器,因此无法过滤参数。