add JS to multiple plugin admin pages

For a WP Theme with multiple admin screen (got its own main menu and some submenus), I want to add a common Js script to load on (only) all these pages.

I know how to acheive this using the pagehooks of the individual (sub)pages lioke this:

Read More
add_action('admin_print_scripts-' . $page, 'my_plugin_admin_script');

but this way I need to reåeat this for each admin page (for each submenu pagehook)

Is there a way smarter way to add the scripts, testing for the PARENT menu? so that I just need to add it with one line of admin_print_scripts-* code?

Related posts

Leave a Reply

1 comment

  1. It would be easiest to run some conditional logic on $parent_file inside a callback hooked onto admin_print_scripts, and would go a little something like this..

    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 .. );
    }
    

    You’ll need to replace my-slug with the handle of your parent page, it’s the fourth parameter in add_menu_page

    The script will then enqueue for both the parent page and any of it’s children pages..

    Hope that helps…