I'm using admin_footer-{$hook_suffix} to selectively print scripts on the new post page and comments page. This hook is depreciated in 3.1.

I see there's an admin_print_scripts-{$hook_suffix} but this does not print to the footer, rather to the header before any jQuery or other stuff is loaded.

How can I selectively print scripts to the footer of certain admin pages?

  • 1
    Use wp_enqueue_script inside the function you hook on and set the in_footer parameter to true, and your script will get output in the footer.
    – t31os
    Mar 29, 2011 at 11:29

2 Answers 2


There's an in_footer parameter that you can pass to wp_enqueue_scripts - does that work?

I would hook to admin_enqueue_scripts, check the $page for location, and enqueue your script there, with 'in_footer' as true.


add_action( 'admin_enqueue_scripts', 'enqueue_my_script' );

function enqueue_my_script( $page ) {
    if ($page !== 'edit.php') return;
    wp_enqueue_script( 'my-script', 'http://path/to/my/local/script', null, null, true );
  • Can you give me an example of checking $page for location?
    – editor
    Mar 29, 2011 at 14:08
  • Thank you. I did not know $page was a synonym for the current page suffix.
    – editor
    Mar 30, 2011 at 15:21
  • 1
    Um, yeah, guess I took a shorthand there. There's also the global variable $pagenow which also holds the same information, in case you need to check it where its not being explicitly passed as the context of a hook. Mar 30, 2011 at 20:24
  • There appears to be no $page variable (declared globally or otherwise) in my MU 2.9. $pagenow global worked out however, so thanks for including.
    – editor
    Mar 31, 2011 at 17:33

There is also another way to achieve this which allows you to build more dynamic scripts using the admin_footer hook,

    add_action('in_admin_footer', 'my_custom_admin_page');
    function my_custom_admin_page () {  
      //you can check if this is the right page
      $screen = get_current_screen();  
      if('post'== $screen->base && 'my-custom-post' == $screen->id){ 
      <script type='text/javascript'>
        jQuery(document).ready( function(){ 
           //check something 

This method allows you to build a dynamic script to inject into the admin page.

  • Thank you man!!
    – Kevinzie
    Jul 6, 2021 at 8:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.