遗憾的是,没有允许直接修改“全部显示”链接或将任何类添加到此项目的筛选器:
$output .= "<li class=\'cat-item-all\'><a href=\'$posts_page\'>$show_option_all</a></li>";
但是有一个
wp_list_categories
在函数末尾,允许您修改所有输出。这里有一个过滤器,如果没有,它将突出显示“全部显示”选项
current_category
已设置,我们不会访问给定分类法中的任何术语。
function wp_list_categories_highlight_all( $output, $args ) {
if ( array_key_exists( \'show_option_all\', $args ) && $args[\'show_option_all\'] ) {
if ( ! array_key_exists( \'current_category\', $args ) || $args[\'current_category\'] ) {
if ( is_category() || is_tax() || is_tag() ) {
if ( ! array_key_exists( \'taxonomy\', $args ) ) {
$args[\'taxonomy\'] = \'category\';
}
$current_term_object = get_queried_object();
if ( $args[\'taxonomy\'] !== $current_term_object->taxonomy ) {
$output = str_replace( "class=\'cat-item-all\'", "class=\'cat-item-all current-cat\'", $output );
}
} else {
$output = str_replace( "class=\'cat-item-all\'", "class=\'cat-item-all current-cat\'", $output );
}
}
}
return $output;
}
add_filter( \'wp_list_categories\', \'wp_list_categories_highlight_all\', 10, 2 );