php - 侧边栏编辑器中的 WordPress Ken 主题错误 - “致命错误:未捕获的错误:函数名称必须是字符串”
问题描述
您好开发人员和问题解决者,
我在所有现有页面/帖子的 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__)) . '" />';
}
解决方案
一定是 PHP7 的问题。
尝试改变这个:
$this->$option['type']($option);
对此:
$this->{$option['type']}($option);
推荐阅读
- java - Java字符串分隔数列
- java - teiid importer.schemaPattern 属性不起作用
- html - data-val-regex-pattern 无法否定某些特定字符
- java - 如何为可选流中的列表映射索引 0 处的值
- datetime - Flutter 日期时间解析
- java - 我如何知道哪些第三方依赖项在本机模式下与 Quarkus 兼容?
- sql - SQL/ORACLE 查询练习 18c
- node.js - Express + PassportJS 无法读取 flash 消息
- powershell - 我的 DirectorySecurity 对象上的这个“访问”属性来自哪里?
- javascript - 属性或方法“navlink”未在实例上定义,但在渲染期间引用 - Vue.js