0

1 つのプラグインを有効にしたときに、このエラーが発生しました。私はプロのプログラマーではありませんが、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;
            }
        }
    }
}
4

1 に答える 1

0

この関数wp_get_sidebars_widgetsはプラグインによって呼び出されることは想定されておらず、内部でのみ使用されます。ドキュメントにも次のように記載されています

admin から呼び出されると、ウィジェットのリストがバージョン 3 の配列形式にアップグレードされました。

それが、呼び出しているコンテキストで機能しない理由かもしれません。私の提案は、達成しようとしていることに対して別のアプローチを試すことです。

于 2013-10-04T18:38:41.620 に答える