警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调 [英] Warning: call_user_func_array() expects parameter 1 to be a valid callback
问题描述
我不知从哪里弄来的!字面上什么都没做,
警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调,在第287行的/wp-includes/class-wp-hook.php中找不到函数‘WooCommerce_OUTPUT_ALL_NOTICES’或函数名无效
// Avoid the array_slice() if possible.
if ( 0 == $the_['accepted_args'] ) {
$value = call_user_func( $the_['function'] );
} elseif ( $the_['accepted_args'] >= $num_args ) {
$value = call_user_func_array( $the_['function'], $args );
} else {
$value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
}
}
} while ( false !== next( $this->iterations[ $nesting_level ] ) );
unset( $this->iterations[ $nesting_level ] );
unset( $this->current_priority[ $nesting_level ] );
$this->nesting_level--;
return $value;
}
推荐答案
@LoicTheAztec已经在评论部分提到了您收到警告的原因。我在这里引用他的评论:
这是指挂钩的函数名称与挂钩不匹配 协会…例如,当add_action('hook_name', 'function_name' );
和因此function_name
与任何 声明的函数…重命名函数时可能会发生这种情况,但不会 重命名挂钩关联中的函数名称。
我将就如何调试和解决该问题提供一些指导。既然你提到它是突然发生的,而你没有做任何事情,我假设它可能是由插件引起的。您的某个插件可能已更新,插件开发人员可能犯了此错误。
您可以做的是,访问您的WordPress管理员仪表板-->;插件页面。然后逐个停用每个插件。确保在停用每个插件后进行检查,以便能够找出导致问题的是哪个插件。当您停用插件时,如果警告消失,您将能够分辨出您刚刚停用的插件是这里的恶棍。
既然您找出了导致问题的插件,请检查它是否有可用的更新。如果是,则更新该插件,并查看它是否解决了问题。如果没有更新,
- 您可以尝试联系插件开发人员,报告错误。
- 或者,您可以尝试自己调试和修复错误(如果您熟悉编码)
如果您计划自己修复它(#2),那么请尝试查看插件的源代码。位置将为:/wp-content/plugins/name_of_plugin
add_action(
。并记下第二个参数,它将是回调函数名。并搜索是否在某个地方定义了该函数。如果没有定义,那么它可能被错误地拼写。您必须找到拼写错误的函数定义,并将其名称更改为add_action()
的名称(作为第二个参数)
这将解决该问题。在其他情况下,当您逐个停用插件并且警告消息从未消失时,即使在尝试停用所有插件之后,您也需要查看主题文件(位置:/wp-content/themes/your_current_theme_name_here/
)
要在文件中搜索关键字,有一个名为String Locator的好插件。我最常将其用于调试目的。可能会派上用场的。
这篇关于警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!