How to Add Plugin Scripts and CSS to a Specific Custom Post Type

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!

Thanks to Mike for the answer.

The Mighty Mo! Design Co.

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you.
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]

More posts from themightymo.com

ERR_TOO_MANY_REDIRECTS error when connecting Cloudflare to WordPress

By The Mighty Mo! Design Co. | September 16, 2022

Today I checked the “proxy” box for a website on Cloudflare, and I got a “ERR_TOO_MANY_REDIRECTS” error when I visited the website. The solution to this issue is simple: Click the “SSL”->”Overview” menu option in Cloudflare. Select the “Full (Strict)” option. Wallah! Done. Is this helpful? UPDATE: I learned that there is also a free…

How to solve Local WP’s “Error in query (1153): Got a packet bigger than ‘max_allowed_packet’ bytes”

By The Mighty Mo! Design Co. | September 7, 2022

I was trying to import a 115MB database via Local WP’s Adminer tool, and I kept getting the following error: After a lot of trial and error, the solution was to: Update the “max_allowed_packet” variable in Local Sites->[site name]->conf->mysql->my.cnf.hbs to max_allowed_packet = 1000M Add/update the “max_allowed_packet” variable in Local Sites->[site name]->conf->php->php.ini.hbs to max_allowed_packet = 1000M…

Divi WordPress Theme Created 70,000 inodes on my server

By The Mighty Mo! Design Co. | August 23, 2022

I was tracking down some strange inode action on a shared hosting provider today and discovered that Divi WordPress theme created 70,000+ unnecessary inodes. As you can see in the inode count in the above screengrab, Divi theme created over 70,000 inodes in a temp folder above the web root. For comparison, this WordPress install,…

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you.
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]