为什么 WP_Screeen 不显示 admin_body_class 的所有选项

Why WP_Screeen doesn't show all options with admin_body_class

我试图将特定的 class 添加到管理部分。我创建了一个新的顶级菜单页面,现在我想向该顶级菜单及其子菜单项添加特定的 class。

我目前尝试的是,我使用WP_Screen获取当前屏幕的数据。

如果我检查了子菜单页面并且我做了 var_dump(get_current_screen())。它显示了每个细节。

但现在的情况是,如果我将 get_current_screen()admin_body_class 一起使用,为什么它不起作用。

据我所知,在加载子菜单页面详细信息之前会提前调用挂钩。

现在我想问一下,如何检查子菜单是否有特定的父基,

这是我目前试过的代码。

add_filter('admin_body_class', 'tw_admin_body_class');
function tw_admin_body_class( $classes ) {
    $screen = get_current_screen();
    var_dump($screen);
    if (  $screen->parent_base == 'tw-top' )  {
        return $classes . ' raashid';
    }
}

但是 parent_base 设置为 null。知道如何将 class 添加到子菜单页面(如果它位于特定的 yop 级菜单下)。

它通过使用 Id 选项起作用。 这是工作选项。

add_filter( 'admin_body_class', 'my_admin_body_class' );
function my_admin_body_class( $classes ) {
    $screen = get_current_screen();
    $classes .= ' raashid';

    if ( get_plugin_page_hook( 'tw-top', '' ) === $screen->id ) {
       return $classes;
    }
}