There are two ways of including custom scripts/styles in an admin page for a WordPress 3 plugin.
Solution 1 (Deprecated):
$slug = add_submenu_page('myplugin.php', 'My Plugin', 'My Plugin', 'upload_files', __FILE__, 'myplugin_options');
add_action('admin_print_scripts-'. $slug, 'myplugin_enqueue_admin_scripts');
add_action('admin_print_styles-'. $slug, 'myplugin_enqueue_admin_styles');
function myplugin_enqueue_admin_scripts($suffix) {
$plugin_path = plugin_dir_url(__FILE__) . 'resources/';
wp_enqueue_script('jquery.js', $plugin_path . 'jquery.pack.js');
}
function myplugin_enqueue_admin_styles($suffix) {
$plugin_path = plugin_dir_url(__FILE__) . 'resources/';
wp_enqueue_style('jquery.css', $plugin_path . 'jquery.css');
}
Solution 2 (recommended):
$slug = add_submenu_page('myplugin.php', 'My Plugin', 'My Plugin', 'upload_files', __FILE__, 'myplugin_options');
add_action('admin_enqueue_scripts', 'myplugin_enqueue_admin_scripts');
function myplugin_enqueue_admin_scripts($hook_suffix) {
if ($hook_suffix == 'myplugin/slug') {
$plugin_path = plugin_dir_url(__FILE__) . 'resources/';
wp_enqueue_script('jquery.js', $plugin_path . 'jquery.pack.js');
wp_enqueue_style('jquery.css', $plugin_path . 'jquery.css');
}
}