When you reigster/add a page to the admin area, using `add_submenu_page` or any of the other `add_{TYPE}_page` functions the fourth parameter accepts a unique identifier, this identifier designates the hook your given page will use.. So for a moment imagine i registered a page like so.. add_options_page('My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options'); In the example above the unique identifier is `my-unique-identifier`. Various hooks are then available for that page specifically, and here's a few possible actions for that hook.. add_action( 'load-my-unique-identifier', 'my_callback_function' ); add_action( 'admin_head-my-unique-identifier', 'my_callback_function' ); add_action( 'admin_print_scripts-my-unique-identifier', 'my_callback_function' ); add_action( 'admin_print_styles-my-unique-identifier', 'my_callback_function' ); There's also `admin_enqueue_scripts` which provides the name of the current hook in the string/variable it passes along to functions that hook on.. You should never need to hook onto `admin_head`,`admin_print_scripts` or `admin_print_styles` unless you have a script/style you want to load for **every** admin page, if you are, then you're doing it wrong (because there's hooks for every page specifically in the administration area). Hope that helps..