複数の管理画面を持つWPテーマ(それ自身のメインメニューといくつかのサブメニューを持っています)のために、私は共通のJsスクリプトを追加してこれらすべてのページをロードします。
私はこれを好む個々の(サブ)ページのページフックを使ってこれを達成する方法を知っています:
add_action('admin_print_scripts-' . $page, 'my_plugin_admin_script');
しかし、このように私は各管理ページ(各サブメニューpagehook)に対してこれを作り直す必要があります
スクリプトを追加してPARENTメニューをテストするより賢い方法はありますか?だから私はadmin_print_scripts- *コードの一行でそれを追加する必要があるように?
$parent_file
にフックされたコールバック内でadmin_print_scripts
に対して条件付きロジックを実行するのが最も簡単で、このような小さなことをします。
add_action( 'admin_print_scripts', 'possibly_enqueue_script' );
function possibly_enqueue_script() {
global $parent_file;
if( 'my-slug' == $parent_file )
wp_enqueue_script( ... your enqueue args .. );
}
あなたはあなたの親ページのハンドルでmy-slug
を取り替える必要があるでしょう、それはadd_menu_page
..の4番目のパラメータです。
その後、スクリプトは親ページとそのすべての子ページの両方をエンキューします。
それが役立つことを願っています...