如何解决为什么过滤器功能会引发数组错误?
我有Wordpress插件附带的示例代码。该插件将来自每条新Instagram帖子的图像和标题作为新帖子拉入WP博客。访问该网站时,将触发检查Instagram是否有新帖子的触发器。
除此过滤器外,其他所有功能都正常运行。
在这个特定的过滤器中,我从Instagram获取第一个主题标签,将其插入类别列表中,并将其分配给新博客帖子作为类别。
这是我的代码,抛出的错误在代码下方:
add_filter( 'igp_image_post_taxonomy_terms',function ( $terms,$image,$post_id,$taxonomy ) {
$tags = isset( $image->tags ) ? maybe_unserialize( $image->tags ) : array();
if ( empty( $tags ) ) {
return $terms;
}
$first_tag = reset( $tags );
$term = get_term_by( 'name',$first_tag,$taxonomy );
if ( ! $term ) {
$term = wp_insert_term( ucfirst( $first_tag ),$taxonomy );
}
$terms[] = $term['term_id'];
return $terms;
},10,4 );
触发代码时,出现以下错误:
致命错误:未捕获错误:无法将WP_Term类型的对象用作/var/www/html/wp-content/plugins/tds_functionalty_plugin/tds_functionality_plugin.php:29中的数组:堆栈跟踪:#0 / var / www / html / wp-includes / class-wp-hook.php(287):{closure}(Array,Object(stdClass),497,'category')#1 /var/www/html/wp-includes/plugin.php(206 ):WP_Hook-> apply_filters(Array,Array)#2 /var/www/html/wp-content/plugins/instagrate-pro/includes/class-controller.php(696):apply_filters('igp_image_post _...', Array,Object(stdClass),497,'category')#3 /var/www/html/wp-content/plugins/instagrate-pro/includes/class-controller.php(1109):Instagrate_Pro_Controller-> post_taxonomy(Object( stdClass))#4 /var/www/html/wp-content/plugins/instagrate-pro/includes/class-controller.php(1407):Instagrate_Pro_Controller-> each(3,8)#5 / var / www / html /wp-content/plugins/instagrate-pro/includes/class-controller.php(115):Instagrate_Pro_Controller-> post_account(108,'constant','')#6 / var / www / html / wp-content / plugins /插入-pro / includes / class-controller.php(72):在第29行的/var/www/html/wp-content/plugins/tds_functionalty_plugin/tds_functionality_plugin.php中
我不精通数组,上面的示例代码来自于插件开发人员,因此我相信它是可行的,除了代码中的某些问题(对于有经验的人而言可能很容易看到)。
如果有人可以看看并指出正确的方向解决这个问题,我将不胜感激:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)