WP升级到3.9.1后出现功能错误

时间:2014-05-27 作者:forrest

更新WP 3.9.1和MySQL后,我在一个网站上发现以下错误:

严格标准:call\\u user\\u func\\u array()要求参数1为有效回调,非静态方法dc\\u jqverticalmegamenu::header()不应在/home/xyzite/public\\u html/wp includes/plugin中静态调用。php在线470

参考是指plugin. 快速搜索会显示大约82页存在相同错误,但没有参考解决方案。我希望能为解决这一问题提供一些指导。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

你应该联系插件作者,因为插件支持在这个网站上通常是离题的。

但是我很好奇,偷看了一下插件代码,发现了这句话:

add_action( \'wp_head\', array(\'dc_jqverticalmegamenu\', \'header\') );
其中header() 方法假定为静态的,但不是:

function header(){
    // ...
}
这就是为什么会弹出这个严格的通知。

插件通过以下方式创建类的实例:

  // Initialize the plugin.
 $dcjqverticalmegamenu = new dc_jqverticalmegamenu();
因此,您应该尝试:

add_action( \'wp_head\', array( $this, \'header\') );
和其他静态调用类似。

结束

相关推荐

Debug errors on sidebar

我正在wordpress 3.8上使用一个儿童主题“Twenty14”。在调试模式下,我会遇到以下关于小部件的错误。注意:正在尝试获取\\wordpress\\wp content\\themes\\tema2014\\functions\\widgets中非对象的属性。php在线148update_post_meta($post->ID, \"_sidebar\", $_POST[\"link\"]); 以及注意:未定义的索引:link in\\wordpress\\wp content