单岗位上的当前猫类

时间:2018-06-25 10:14:10

标签: wordpress taxonomy wp-list-categories

我正在尝试获取默认的WordPress类别小部件,以将current-cat类添加到单个帖子中,就像在类别存档页面上一样。

我尝试将以下代码从对this post的答案中添加到functions.php:

add_filter( 'wp_list_categories', 'sgr_show_current_cat_on_single', 10, 2 );
function sgr_show_current_cat_on_single( $output, $args ) {
    if ( is_single() ) :
        global $post;
        $terms = get_the_terms( $post->ID, $args['taxonomy'] );
        foreach( $terms as $term ) {
            if ( preg_match( '#cat-item-' . $term ->term_id . '#', $output ) ) {
                $output = str_replace('cat-item-'.$term ->term_id, 'cat-item-'.$term ->term_id . ' current-cat', $output);
            }
        }
    endif;
    return $output;
}

但这会导致以下错误:

  

警告:在第6行的functions.php中为foreach()提供了无效的参数

1 个答案:

答案 0 :(得分:1)

您的参数有误,此过滤器中仅使用了一个参数,因此您的功能应如下所示

   function sgr_show_current_cat_on_single($args) 

有关更多信息,请点击此处https://developer.wordpress.org/reference/functions/wp_list_categories/