管理页面的BODY_CLASS挂钩

时间:2012-03-05 作者:ltfishie

body\\u类挂钩似乎只适用于非管理页面。当我这样做的时候

add_filter(\'body_class\', \'add_body_classes\');
function add_body_classes($classes) {
        $classes[] = \'myclass\';
        return $classes;
}
如果我想在管理页面的主体中添加一个类,是否应该使用另一个钩子?

4 个回复
最合适的回答,由SO网友:Mamaduka 整理而成

管理页面不使用body_class 过滤器,使用admin_body_class 筛选以将类添加到admin body标记。

请注意$classes 在这种情况下,是字符串,而不是数组。

SO网友:Nabil Kadimi

Mamaduka answer 指向我to the right direction, 下面是向仪表板中的主体添加类的代码。

回调函数应该为HTML类属性返回一个有效值,即空格分隔的类名,另外,不要忘记预先添加(或追加)任何现有类,您应该通过阅读代码来理解。

add_filter( \'admin_body_class\', \'my_admin_body_class\' );

/**
 * Adds one or more classes to the body tag in the dashboard.
 *
 * @link https://wordpress.stackexchange.com/a/154951/17187
 * @param  String $classes Current body classes.
 * @return String          Altered body classes.
 */
function my_admin_body_class( $classes ) {
    return "$classes my_class";
    // Or: return "$classes my_class_1 my_class_2 my_class_3";
}

SO网友:Andrei Surdu

添加多个类,尤其是当它们必须基于某些条件显示时,可能会导致HTML输出不一致。为了正确设置格式并能够删除重复项或现有类,我们可以将它们转换为数组,并最终连接回字符串:

add_filter(\'admin_body_class\', static function ($classes) {
    $classes = explode(\' \', $classes);
    
    $classes = array_merge($classes, [
        \'my-class-one\',
        \'my-class-two\',
        \'my-class-three\',
        some_function(),
        another_function(),
    ]);

    return implode(\' \', array_unique($classes));
});

SO网友:alex

我用于编辑WP admin/Dashboard admin\\u head的一个挂钩

    function remove_screen_options(){ 

    $hideCSS = \'<style>#screen-meta-links { display: none; }</style>\';

} 
将css放在您的管理部分

通过使用类。wp admin您可以设置admin的主体部分的样式。

祝你好运

结束

相关推荐

Exclude stylesheet from admin

我一直在使用以下函数将一些CSS排入我的主题。但是,它们也用于管理领域:wp_enqueue_style(...) 我不想在管理领域使用它们。遗憾的是,无论是在这里还是在谷歌上,我都找不到与此功能相结合的任何信息。codex也没有对此进行解释,该函数不支持将管理区域排除在外的选项应用于特定样式。我希望有人能告诉我如何从管理区域中排除特定的css。提前谢谢。