好哇网

get_current_screen 获取仪表盘中当前页面信息

作者 get_current_screen 2021-07-13 403

函数描述

该函数返回一个包含当前页面 ID 的对象,如:base, post type, 或 taxonomy, 以及其他类型的名称

使用方法

1
$screen = get_current_screen();

使用限制

该函数在很多管理页面中都有定义,但并不是所有页面,这会导致有时候 is_admin() will 返回真,而调用 get_current_screen() 却遇到了致命错误,因为这个函数在该也发没有定义,一个已知的页面是 wp-admin/customize.php。

我们应该在 admin_init 初始化之后调用,否则将返回 null。

返回值

返回一个 WP_Screen 对象,调用不当是返回 null。

参数 数据类型 描述
ID 字符串 当前屏幕的唯一ID
action 字符串 关联到此屏幕的操作,「*-new.php」页面为 「add」,其他页面为空
base 字符串 屏幕的基本类型。如对于页面「post-new.php」的 base 为 「post」
parent_base 字符串 父级菜单。这是通过删除查询字符串和.php扩展名从$PARENT_FILE获取的。例如,‘edit.php?post_type=page’ 和 ‘edit.php?post_type=post’ 的 parent_file 值的 parent_base 为 ‘edit’
post_type 字符串 与屏幕关联的文章类型(如果有)。例如,“ edit.php?post_type = page”屏幕的文章类型为“ page”。
taxonomy 字符串 屏幕关联的分类法(如果有)。例如,“ edit-tags.php?taxonomy = category”屏幕的分类法为“ category”

下面是文章编辑页面的返回值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
WP_Screen Object
(
    [action] => 
    [base] => post
    [id] => post
    [is_network] => 
    [is_user] => 
    [parent_base] => edit
    [parent_file] => edit.php
    [post_type] => post
    [taxonomy] => 
    ...
    (private fields)
)

使用示例

添加帮助选项卡到某个页面

下面的示例说明如何将上下文帮助添加到使用 add_options_page() 函数创建的管理页面。在这里,我们假设您的管理页面上有一个“ my_admin_page”,并且位于“选项”标签下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
add_action('admin_menu', 'my_admin_add_page');
function my_admin_add_page() {
    global $my_admin_page;
    $my_admin_page = add_options_page(__('我的页面', 'map'), __('我的页面', 'map'), 'manage_options', 'map', 'my_admin_page');
 
    // my_admin_page 加载时添加 my_help_tab
    add_action('load-'.$my_admin_page, 'my_admin_add_help_tab');
}
 
function my_admin_add_help_tab () {
    global $my_admin_page;
    $screen = get_current_screen();
 
    //检查当前屏幕是否为 My Admin 页面,如果不是,不添加帮助选项卡
    if ( $screen->id != $my_admin_page ){
        return;
    }
 
    // 如果当前屏幕是 My Admin 页面,添加 my_help_tab 帮助选项卡
    $screen->add_help_tab( array(
        'id'	  => 'my_help_tab',
        'title'	  => __('帮助'),
        'content' => '<p>' . __( '帮助选项卡信息' ) . '</p>',
    ) );
}

仅在后台小工具页面运行一些代码

1
2
3
4
5
6
7
8
add_action( 'current_screen', 'thisScreen' );
 
function thisScreen() {
    $currentScreen = get_current_screen();
    if( $currentScreen->id === "widgets" ) {
        // Run some code, only on the admin widgets page
    }
}

发表评论

好哇网,每天提供1000+次下载,做你身边靠谱的下载站!

立刻探索下载

留言咨询