致命错误:未捕获错误:函数名称必须是字符串(第115行的Google Maps WP响应式插件-Metabox.php)

时间:2018-08-23 15:30:49

标签: php wordpress php-7 meta-boxes

您好,开发人员和问题解决者,

我遇到了一个PHP7问题,看来我的代码需要针对以下地方进行更新:

OtherFiles()

我进行了一些搜索,但在Stack Overflow上的其他线程中找不到此特定问题。我对PHP有点熟悉,但对使用核心PHP文件却不是专家。我更像是前端/全栈开发人员。

  

侧边栏显示错误:“响应式Google Maps” WordPress插件

/home/wp-theme/public_html/wp-content/plugins/responsive-google-maps/classes/MarkAdCoreClasses/Metabox.php on line 115

  

源代码:第115行的Metabox.php

Fatal error: Uncaught Error: Function name must be a string in /home/wp-theme/public_html/wp-content/plugins/responsive-google-maps/classes/MarkAdCoreClasses/Metabox.php:115 Stack trace: #0 /home/wp-theme/public_html/wp-admin/includes/template.php(1048): ResponsiveGoogleMaps_MarkAdCoreClasses_Metabox->render_metabox_content(Object(WP_Post), Array) #1 /home/wp-theme/public_html/wp-admin/edit-form-advanced.php(696): do_meta_boxes(Object(WP_Screen), 'side', Object(WP_Post)) #2 /home/wp-theme/public_html/wp-admin/post.php(173): include('/home/wp-theme...') #3 {main} thrown in /home/wp-theme/public_html/wp-content/plugins/responsive-google-maps/classes/MarkAdCoreClasses/Metabox.php on line 115

非常感谢有人能帮助我。预先感谢。

2 个答案:

答案 0 :(得分:0)

第115行似乎正在调用动态函数,该函数的名称是从form_fields对象内的array类型的$ field变量中检索的。

几年前here似乎在CodeCanyon项目页面上报告了同一问题。

我建议重新下载插件并将其上传到网站上的/ wp-content / plugins /文件夹中,以查看最新更新是否可以解决问题。

答案 1 :(得分:0)

设法修复它,我对它是related to PHP7是正确的。

更改

$field_output .= $this->form_fields->$field['type'](array($field, $settings['metabox_id'], $passed_values));

$field_output .= $this->form_fields->{$field['type']}(array($field, $settings['metabox_id'], $passed_values));