警告:in_array() [function.in 数组]:第二个参数的数据类型错误


Warning: in_array() [function.in-array]: Wrong datatype for second argument

当我激活一个插件时,我遇到了此错误。我不是专业程序员,但我有一些php经验。请帮帮我。错误在if ( in_array('template-widget', $widgets)) {行中。

function ActionWpPrintScripts() {
    global $post;
    // Check to see if widget is present on page
    $sidebars_widgets = wp_get_sidebars_widgets(false);
    $widget_loaded = false;
    if ( is_array($sidebars_widgets) ) {
        foreach ( $sidebars_widgets as $sidebar => $widgets ) {
            if ( in_array('template-widget', $widgets)) {
                $widget_loaded = true;
            }
        }
    }
}
函数

wp_get_sidebars_widgets不应该由插件调用,只能在内部使用。该文件还指出,

从管理员调用时将小部件列表升级到版本 3 数组格式。

因此,这可能是它在您调用它的上下文中不起作用的原因。我的建议是尝试另一种方法来完成您要完成的任何事情。