Using WordPress ‘current_screen’ PHP action

The current_screen WordPress PHP action fires after the current screen has been set.

Usage

add_action('current_screen', 'your_custom_function');
function your_custom_function($current_screen) {
  // your custom code here
  return $current_screen;
}

Parameters

  • $current_screen (WP_Screen): The current WP_Screen object.

More information

See WordPress Developer Resources: current_screen

Examples

Modify admin menu for a custom post type

add_action('current_screen', 'modify_admin_menu');
function modify_admin_menu($current_screen) {
  if ('your_custom_post_type' == $current_screen->post_type && 'post' == $current_screen->base) {
    // Modify the admin menu for your custom post type
  }
}

Add custom CSS to a specific admin screen

add_action('current_screen', 'enqueue_custom_css');
function enqueue_custom_css($current_screen) {
  if ('edit-tags' == $current_screen->base && 'your_taxonomy' == $current_screen->taxonomy) {
    // Add custom CSS to your taxonomy edit screen
    wp_enqueue_style('your_custom_css_handle', 'path/to/your/custom.css');
  }
}

Modify the help tab for a specific screen

add_action('current_screen', 'modify_help_tab');
function modify_help_tab($current_screen) {
  if ('your_page_id' == $current_screen->id) {
    // Remove the default help tab and add your custom help tab
    $current_screen->remove_help_tabs();
    $current_screen->add_help_tab(array(
      'id' => 'your_custom_help_tab',
      'title' => __('Your Custom Help Tab'),
      'content' => '<p>Your custom help tab content.</p>',
    ));
  }
}

Add custom screen option for a specific admin page

add_action('current_screen', 'add_custom_screen_option');
function add_custom_screen_option($current_screen) {
  if ('your_custom_page_id' == $current_screen->id) {
    // Add custom screen option
    add_screen_option('your_custom_option', array(
      'label' => __('Your Custom Option'),
      'default' => 10,
      'option' => 'your_custom_option_per_page',
    ));
  }
}

Redirect users after saving settings on a specific screen

add_action('current_screen', 'redirect_after_saving_settings');
function redirect_after_saving_settings($current_screen) {
  if ('your_settings_page_id' == $current_screen->id && isset($_GET['settings-updated'])) {
    // Redirect users to another page after saving settings
    wp_redirect(admin_url('admin.php?page=your_redirect_page_id'));
    exit;
  }
}