The get_current_screen() WordPress PHP function retrieves the current screen object in the admin dashboard.
Usage
$current_screen = get_current_screen();
Parameters
- None
More information
See WordPress Developer Resources: get_current_screen()
Examples
Run code on the admin widgets page
This code will run only on the admin widgets page:
add_action('current_screen', 'wpdocs_this_screen');
function wpdocs_this_screen() {
$currentScreen = get_current_screen();
if($currentScreen->id === "widgets") {
// Run some code, only on the admin widgets page
}
}
Redirect the admin dashboard to a custom page
This code will redirect the admin dashboard to a custom page:
add_action('current_screen', 'wpdocs_custom_redirect_admin_dashboard');
function wpdocs_custom_redirect_admin_dashboard() {
if (is_admin()) {
$my_current_screen = get_current_screen();
if (isset($my_current_screen->base) && 'dashboard' === $my_current_screen->base) {
wp_redirect(admin_url().'?page=custom_dashboard');
exit();
}
}
}
Check if the function exists before using it
This code checks if the get_current_screen() function exists before using it:
if (function_exists('get_current_screen')) {
$current_screen = get_current_screen();
// Do your thing
}
Add contextual help to an admin page
This code adds contextual help to an admin page with the slug my_admin_page:
add_action('admin_menu', 'wpdocs_admin_add_page');
function wpdocs_admin_add_page() {
global $wpdocs_admin_page;
$wpdocs_admin_page = add_options_page(__('Wpdocs Admin Page', 'wpdocs_textdomain'), __('Wpdocs Admin Page', 'wpdocs_textdomain'), 'manage_options', 'wpdocs_textdomain', 'wpdocs_admin_page');
add_action('load-'.$wpdocs_admin_page, 'wpdocs_admin_add_help_tab');
}
function wpdocs_admin_add_help_tab() {
global $wpdocs_admin_page;
$screen = get_current_screen();
if ($screen->id != $wpdocs_admin_page) return;
$screen->add_help_tab(array(
'id' => 'wpdocs_help_tab',
'title' => __('Wpdocs Help Tab'),
'content' => '<p>' . __('Descriptive content that will show in Wpdocs Help Tab body goes here.', 'wpdocs_textdomain') . '</p>',
));
}
Check the custom post type on the current screen
This code checks if the custom post type of the current screen is wpcrm-contact:
add_action('trashed_post', 'trash_wpcrm_contact');
function trash_wpcrm_contact($post_id){
$screen = get_current_screen();
if('wpcrm-contact' != $screen->post_type){
// This is not our custom post, so let's exit
return;
}
// ...
}