首页 > 解决方案 > 为什么 WP_Screeen 不显示 admin_body_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。如果它位于特定的 yop 级别菜单下,任何想法如何将类添加到子菜单页面。

标签: wordpresspluginsmenu

解决方案


它通过使用 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;
    }
}

推荐阅读