为什么这些错误会出现在我的WordPress站点上?

时间:2013-05-27 作者:Forza

在my/wp admin/page上,我收到以下错误:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function \'mytheme_admin_bar_render\' not found or invalid function name in /home/rgomme1q/public_html/geoffrey/wp-includes/plugin.php on line 406
在我的编辑页面上,我发现以下错误:

Warning: Invalid argument supplied for foreach() in /home/rgomme1q/public_html/geoffrey/wp-content/plugins/dropdown-menu-widget/shailan.DropDownMenu.php on line 239
除了这些错误之外,该网站的功能也很完善。此外,我从未接触过提到的文件,这些文件处于原始状态。我猜这些错误来自另一个文件中的输入错误,但我如何确定哪个文件是罪魁祸首?

1 个回复
SO网友:s_ha_dum

它可能是某个对象的回调函数。我猜某个地方有人试图使用一个名为mytheme_admin_bar_render 作为回调,但尚未定义该函数。类似于。。。

add_filter(\'something\',\'mytheme_admin_bar_render\');
。。。可能,但有很多很多可能性。

grep 你的wp-content 的文件夹mytheme_admin_bar_render, 或者使用可以对整个目录进行源代码搜索的IDE。当你找到它时,很难说该做什么。如果它是一个过滤器,如上所述,您可能只需将其注释掉或删除即可。

// add_filter(\'something\',\'mytheme_admin_bar_render\');
如果是更复杂的事情,您可能需要一种不同的方法。

如果没有插件的代码(我找不到),解决另一个问题是不容易的。很可能插件正在尝试执行以下操作。。。

foreach ($somearray as $k=>$v) {
 //...
}
。。。哪里$somearray 尚未设置或设置为false 或其他一些您无法使用的数据类型foreach 结束寻找最近的foreach 并尝试分析发生了什么。类似于。。。

if (isset($somearray) && is_array($somearray)) {
    foreach ($somearray as $k=>$v) {
     //...
    }
}
。。。可能会这样做。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。