質問: the_widget()とウィジェットのid 名前だけを表示するウィジェットがあるとしましょう。 <p> <?php echo $args['widget_id'] ?> </p> ウィジェットをサイドバーにドラッグ&ドロップすると、次のように表示されます。<p> mywidget-number </p> 問題は、このウィジェットをショートコードで呼び出したいということです。 (...) ob_start(); the_widget(mywidget); return ob_get_clean(); } add_shortcode('mywidget_short', 'mywidget_shortcode'); そして[mywidget_short]を実行するとそれだけが表示されます<p> </p> ショートコードでウィジェットのidを呼び出す方法はありますか?
回答: サイドバーを呼び出すためのショートコードとウィジェットを呼び出すためのショートコードを total widget control に組み込んだ。 ob_start()内でdynamic_sidebarを呼び出すだけの、サイドバーの作成が非常に簡単な場所。しかし、個々のウィジェットの呼び出しは非常に複雑でした。 global $wp_registered_widgets私は、完全なウィジェットインスタンスを含むグローバル変数だと思います。まずウィジェットインスタンスを取得するための独自の関数を作成し、次にウィジェットを表示するためにウィジェットコールバック関数を呼び出す必要があります。実際にthe_widgetを使用しようとしているコードでは、ウィジェットインスタンスをパラメータとして渡す必要があります。ウィジェット自体を探し回ることはできません。