load-{$page hook} and returned parameter
I am using this code to enqueue scripts and styles to wordpress plugin. This works well, but I am wondering is there some parameter available in my_admin_enqueue_scripts function? Because I would like to
enqueue different scripts per page. I know I can call different function like my_admin_enqueue_scripts, my_admin_enqueue_scripts2, my_admin_enqueue_scripts3 but I would still need to repeat many scripts to enqueue so I would like to know if I can detect on what page I am in my_admin_enqueue_scripts function.
add_action("admin_menu", "my_admin_menu");
function my_admin_menu(){
$menu = add_menu_page('Audio Player', 'Audio Player', MY_CAPABILITY, 'my_settings', 'my_settings_page', 'dashicons-playlist-audio');
$submenu = add_submenu_page('my_settings', __('Audio Player', MY_TEXTDOMAIN), __('Settings', MY_TEXTDOMAIN), MY_CAPABILITY, 'my_settings', 'my_settings_page');
$submenu2 = add_submenu_page('my_settings', __('Audio Player', MY_TEXTDOMAIN), __('Player manager', MY_TEXTDOMAIN), MY_CAPABILITY, 'my_player_manager', 'my_player_manager_page');
add_action( 'load-' . $menu, 'my_admin_enqueue_scripts' );
add_action( 'load-' . $submenu, 'my_admin_enqueue_scripts' );
add_action( 'load-' . $submenu2, 'my_admin_enqueue_scripts' );
}
function my_admin_enqueue_scripts($param) {
//is there a $param here?
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-sortable');
wp_enqueue_media();
wp_enqueue_style("spectrum", plugins_url('/css/spectrum.css', __FILE__));
wp_enqueue_script("spectrum", plugins_url('/js/spectrum.js', __FILE__), array('jquery'));
.... other scripts
}
Leave an answer