get_current_screen()
最后更新于:2021-11-26 09:03:24
get_current_screen()Get the current screen object
响应
(GC_Screen|null) Current screen object or null when screen not defined.
源文件
文件: gc-admin/includes/screen.php
function get_current_screen() {
global $current_screen;
if ( ! isset( $current_screen ) ) {
return null;
}
return $current_screen;
}
PAGE $SCREEN_ID FILE ----------------- ------------------- ----------------------- Media Library upload upload.php Comments edit-comments edit-comments.php Tags edit-post_tag edit-tags.php Plugins plugins plugins.php Links link-manager link-manager.php Users users users.php Posts edit-post edit.php Pages edit-page edit.php Edit Site: Themes site-themes-network network/site-themes.php Themes themes-network network/themes Users users-network network/users Edit Site: Users site-users-network network/site-users Sites sites-network network/sites
<?php add_action( 'current_screen', 'gcdocs_this_screen' ); /** * Run code on the admin widgets page */ function gcdocs_this_screen() { $currentScreen = get_current_screen(); if( $currentScreen->id === "widgets" ) { // Run some code, only on the admin widgets page } } ?>
/** * Redirect specific admin page */ add_action( 'current_screen', 'gcdocs_custom_redirect_admin_dashboard' ); function gcdocs_custom_redirect_admin_dashboard() { if ( is_admin() ) { $my_current_screen = get_current_screen(); if ( isset( $my_current_screen->base ) && 'dashboard' === $my_current_screen->base ) { gc_redirect( admin_url().'?page=custom_dashboard' ); exit(); } } }
GC_Screen Object ( [action] => [base] => post [id] => post [is_network] => [is_user] => [parent_base] => edit [parent_file] => edit.php [post_type] => post [taxonomy] => ... (private fields) )
<?php add_action('admin_menu', 'gcdocs_admin_add_page'); /** * Add an admin page */ function gcdocs_admin_add_page() { global $gcdocs_admin_page; $gcdocs_admin_page = add_options_page(__('Wpdocs Admin Page', 'gcdocs_textdomain'), __('Wpdocs Admin Page', 'gcdocs_textdomain'), 'manage_options', 'gcdocs_textdomain', 'gcdocs_admin_page'); // Adds my_help_tab when my_admin_page loads add_action('load-'.$gcdocs_admin_page, 'gcdocs_admin_add_help_tab'); } /** * Add a contextual help tab to the Wpdocs Admin Page */ function gcdocs_admin_add_help_tab () { global $gcdocs_admin_page; $screen = get_current_screen(); /* * Check if current screen is Wpdocs Admin Page * Don't add help tab if it's not */ if ( $screen->id != $gcdocs_admin_page ) return; // Add my_help_tab if current screen is My Admin Page $screen->add_help_tab( array( 'id' => 'gcdocs_help_tab', 'title' => __('Wpdocs Help Tab'), 'content' => '<p>' . __( 'Descriptive content that will show in Wpdocs Help Tab body goes here.', 'gcdocs_textdomain' ) . '</p>', ) ); } ?>