Illegale String-Offset-Taxonomie in

Ich habe ein bisschen mit dem folgenden Fehler zu kämpfen

Illegal string offset 'taxonomy' in ... on line 175 Trying to get property of non-object in ... on line 177 Trying to get property of non-object in ... on line 178 

Der Code, den ich verwende, ist:

 function tax_cat_active( $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); } return $output; } add_filter( 'wp_list_categories', 'tax_cat_active', 10, 2 ); 

Jeder eine Idee, wie man den Fehler triggers?

Solutions Collecting From Web of "Illegale String-Offset-Taxonomie in"

Wahrscheinlich kommt das Problem von:

 $terms = get_the_terms( $post->ID, $args['taxonomy'] ); 

WP_Error Sie müssen sicherstellen, dass es nicht false oder WP_Error Objekt ist.

Sie sollten auch die Ausgabe von überprüfen:

 var_dump( $args ); 

Versuchen Sie zum Beispiel:

 if( ! is_array( $terms ) ) return $output; 

oder

 if( ! $terms || is_wp_error( $terms ) ) return $output; 

vor deiner Schleife.