【问题标题】:WordPress Ken Theme Error in Sidebar Editor - "Fatal error: Uncaught Error: Function name must be a string"侧边栏编辑器中的 WordPress Ken 主题错误 - “致命错误:未捕获的错误:函数名称必须是字符串”
【发布时间】:2018-12-18 19:38:04
【问题描述】:

各位开发者和问题解决者,您好,

我在所有现有页面/帖子的 WordPress 仪表板中都遇到了这个错误。根据我的经验,我学习了 PHP,但在 WordPress 本身的核心 php 文件错误方面我不是很有经验。根据类似的帖子,这可能是 PHP7 的 PHP 版本问题,但我不完全确定。

主题本身也可能需要更新,但我认为在考虑更新 Ken 主题之前应该修复此问题。

任何帮助将不胜感激!

致命错误:未捕获错误:函数名称必须是 /home/themename/public_html/wp-content/themes/ken/framework/php/metabox-generator.php:106 中的字符串 堆栈跟踪:#0 /home/ themename/public_html/wp-admin/includes/template.php(1037): mk_metaboxesGenerator->render(Object(WP_Post), Array) #1 /home/themename/public_html/wp-admin/edit-form-advanced.php( 686): do_meta_boxes(Object(WP_Screen), 'side', Object(WP_Post)) #2 /home/themename/public_html/wp-admin/post.php(173): include('/home/themename/p.. .') #3 {main} 在第 106 行的 /home/themename/public_html/wp-content/themes/ken/framework/php/metabox-generator.php 中抛出

/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__)) . '" />';
}

【问题讨论】:

    标签: php wordpress wordpress-theming php-7 meta-boxes


    【解决方案1】:

    一定是 PHP7 的问题。

    尝试改变这个:

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

    到这里:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      相关资源
      最近更新 更多