如果用户没有在短代码中明确定义他想要的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类的对象无法转换为字符串
我怎么才能避开这个?尝试将其转换为字符串。。
最合适的回答,由SO网友:Mark Kaplun 整理而成
您没有指定错误的确切来源,但我假设您的问题是将一个对象分配给slug,而不是字符串。您的代码应该如下所示
$t = array_shift( $terms );
$params[\'slug\'] = $t->slug;