web-dev-qa-db-ja.com

グローバル変数$ wp_registered_widgetsはどのように/どこで埋められますか?

$ wp_registered_widgetsが空である理由を調べようとして、ウィジェットが表示されないという問題があります。

データベースからどこでいっぱいになるかを誰かに教えてもらえますか?デフォルトのウィジェットが設定されていない理由をどうやって知ることができますか。

1
Cilvic

ここで見ることができるように、$wp_registered_widgetsはwp-includes/widgets.phpで定義されています(予想通り)。次のようにしてデバッグできます。

function yoast_print_active_widgets() {
    global $wp_registered_widgets;    
    echo '<pre>'.print_r( $wp_registered_widgets, 1 ).'</pre>';
}
add_action('init','yoast_print_active_widgets');

それからinitからsend_headersからwp_headまでのさまざまな段階をループして、どこがうまくいかないのかを見ることができます。

4
Joost de Valk