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

Php 警告:in_array()[function.in array]:第二个参数的数据类型错误,php,wordpress,Php,Wordpress,我在激活一个插件时出现了这个错误。我不是专业程序员,但我有一些php经验。请帮帮我。错误在if(在_数组('template-widget',$widgets'){行中 function ActionWpPrintScripts() { global $post; // Check to see if widget is present on page $sidebars_widgets = wp_get_sidebars_widgets(false); $wi

我在激活一个插件时出现了这个错误。我不是专业程序员,但我有一些php经验。请帮帮我。错误在
if(在_数组('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\u get\u sidebars\u widgets
不应该由插件调用,只在内部使用。文档还声明

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

所以这可能就是为什么它在您调用它的上下文中不起作用的原因。
我的建议是尝试另一种方法来完成您想要完成的任务。

确保$widgets是一个数组^^^在
$widgets上执行
var\u dump
,并确保它是一个数组array@JohnKugelman这个问题确实使用了wordpress,但这并不是问题的重点……这是一个关于wordpress插件的问题,涉及到
wp\u get\u sidebars\u widgets
功能。和标记对我来说似乎很合适。
$widgets