WordPress的主题肯中的错误边栏编辑器 - “致命错误:未捕获的错误:函数名称必须是一个字符串

2019-10-30 04:37发布

你好其他开发人员和问题解决者,

我已经在所有现有的页/职位的WordPress后台遇到这个错误。 通过我的经验,我已经学会了PHP,但我当它涉及到核心PHP文件错误在WordPress本身就不是很丰富的经验。 基于关相近岗位,这可能是一个PHP版本问题与PHP7,但我不能完全肯定。

另外,主题本身可能需要更新,但我觉得应该有这样的bug修复,我会考虑更新肯主题之前。

任何帮助将不胜感激!

致命错误:未捕获的错误:函数名称必须/home/themename/public_html/wp-content/themes/ken/framework/php/metabox-generator.php:106堆栈跟踪的字符串:#0 /家庭/ THEMENAME /的public_html /wp-admin/includes/template.php(1037):mk_metaboxesGenerator->渲染(对象(WP_Post),阵列)#1 /home/themename/public_html/wp-admin/edit-form-advanced.php(686): do_meta_boxes(对象(WP_Screen), '面',对象(WP_Post))#2 /home/themename/public_html/wp-admin/post.php(173):包括( '/家庭/ THEMENAME / p ...') #3 {主}抛出/home/themename/public_html/wp-content/themes/ken/framework/php/metabox-generator.php在线106上

/home/themename/public_html/wp-content/themes/ken/framework/php/metabox-generator.php在线106上

106线$this->$option['type']($option);

function render() {
    wp_enqueue_style('redux-css', THEME_ADMIN_ASSETS_URI . '/css/metabox.css', false, false, 'all');
    global $post;
    echo '<div class="mk-metabox-holder"><table class="form-table"><tbody>';
    foreach ($this->options as $option) {
        if (method_exists($this, $option['type'])) {
            if (isset($option['id'])) {
                $default = get_post_meta($post->ID, $option['id'], true);
                if ($default != "") {
                    $option['default'] = $default;
                }
            }
            $this->$option['type']($option);
        }
    }
    echo '</tbody></table></div>';
    echo '<input type="hidden" name="' . $this->config['id'] . '_noncename" id="' . $this->config['id'] . '_noncename" value="' . wp_create_nonce(plugin_basename(__FILE__)) . '" />';
}

Answer 1:

它必须是一个PHP7问题。

尝试改变这一点:

$this->$option['type']($option);

为此:

$this->{$option['type']}($option);


文章来源: WordPress Ken Theme Error in Sidebar Editor - “Fatal error: Uncaught Error: Function name must be a string”