Create an Info/Help message at top of a custom post type

The hook you are after is admin_notices. This is fired at the top of every admin page.

If you wish to restrict the notice to certain pages you can use: get_current_screen() to get the current screen.

 $screen = get_current_screen();

You can wrap the notices in div elements with class ‘error’ or ‘updated’ to get the red, or yellow styled notices.

For instance:

function wpse51463_admin_notice(){
      $screen = get_current_screen();

    //If not on the screen with ID 'edit-post' abort.
    if( $screen->id !='edit-post' )
        return;

      ?>

      <div class="updated">
        <p>
        A notice on the post list screen
        </p>
      </div>

      <div class="error">
        <p>
        An error message
        </p>
      </div>

     <?php

 }
 add_action('admin_notices','wpse51463_admin_notice');

For a plug-ins settings page (nested under the Settings tab) the screen id should be settings_page_{page-name}. You can of course determine the id of a page by using the above to print the current screen id of every page.

Leave a Comment