中的字符串偏移量‘Taxonomy’非法

时间:2015-05-25 作者:kiarashi

我有点纠结于以下错误

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
我使用的代码是:

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 );
有人知道如何解决这个错误吗?

1 个回复
SO网友:birgire

问题很可能来自:

$terms = get_the_terms( $post->ID, $args[\'taxonomy\'] );
也就是说,你必须确保falseWP_Error 对象

您还应检查以下各项的输出:

var_dump( $args );
请尝试以下示例:

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

if( ! $terms || is_wp_error( $terms ) )
    return $output;
在循环之前。

结束

相关推荐

GET_CATEGORIES()返回“未分类”

在我的WPMU网站前端,所有类别都消失了,每个帖子都标有“未分类”。然而,这只是单曲。php,而不是在主页上。php。相同的错误发生在get_categories(), wp_list_categories() 和the_category().我试着用var_dump(get_categories()) 但就像WordPress一样,它只是认为应该这样。