您的当前位置:首页 > 知识博客 > wordpress建站

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

时间:2024-03-30

get_current_screen()函数

get_current_screen()函数返回一个包含当前页面ID的对象,如:base、posttype或taxonomy等其他类型的名称。

使用方法

$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”

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

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”,并且位于“选项”标签下。

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();     //检查当前屏幕是否为MyAdmin页面,如果不是,不添加帮助选项卡     if($screen->id!=$my_admin_page){         return;     }     //如果当前屏幕是MyAdmin页面,添加my_help_tab帮助选项卡     $screen->add_help_tab(array(         'id'    =>'my_help_tab',         'title' =>__('帮助'),         'content'=>'<p>'.__('帮助选项卡信息').'</p>',     )); }

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

add_action('current_screen','thisScreen'); function thisScreen(){     $currentScreen=get_current_screen();     if($currentScreen->id==="widgets"){         //Run some code, only on the admin widgets page     } }


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 thinkphp.xyz


Whatsapp