可捕获的致命错误:无法将类stdClass的对象转换为字符串

时间:2015-02-24 作者:JoaMika

如果用户没有在短代码中明确定义他想要的slug,我正在尝试获取当前帖子的自定义分类法slug,该短代码嵌入其中。

function get_date_posts($params, $content){
        $default_params = array(
            \'post_type\'     => \'post\',
            \'order\'         => \'asc\',
            \'orderby\'       => \'meta_value\',
            \'posts_per_page\'=> 5,
            \'meta_key\'      => \'fl_date_picker\'
        );

        $terms = get_the_terms( $post->ID, \'calendar_event_type\' );
        if ( !empty( $terms ) ){
        $params[\'slug\'] = array_shift( $terms );
        }

//truncated
此行导致错误:$params[\'slug\'] = array_shift( $terms );

可捕获的致命错误:stdClass类的对象无法转换为字符串

我怎么才能避开这个?尝试将其转换为字符串。。

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

您没有指定错误的确切来源,但我假设您的问题是将一个对象分配给slug,而不是字符串。您的代码应该如下所示

$t = array_shift( $terms );
$params[\'slug\'] = $t->slug;

结束