I am working on a new calendar plugin for WordPress and discovered that my jQuery scripts and CSS were loading on every page in the admin. Whoops!
The solution was to include my scripts in the following manner:
// Only load the scripts and css on the a specific custom post type in the admin
add_action('admin_init','load_my_script');
function load_my_script() {
global $pagenow, $typenow;
if (empty($typenow) && !empty($_GET['post'])) {
$post = get_post($_GET['post']);
$typenow = $post->post_type;
}
if (is_admin() && $typenow=='add_your_custum_post_type_name_here') {
if ($pagenow=='post-new.php' OR $pagenow=='post.php') {
require ( dirname(__FILE__) .'/add_your_scripts_loader_file_here.php' );
}
}
}
I have discovered over the years that many plugins fail to include their scripts in this manner, which can cause all sorts of weird things to happen in the admin.
Enjoy!
Posted in Wordpress, Wordpress plugin