在wordpress管理区域,如何取消注册默认样式?

时间:2012-10-09 08:16:39

标签: wordpress wordpress-plugin wordpress-theming stylesheet

管理区域中默认样式表的句柄是什么,所以我可以取消注册我想要的样式表?当然,我会将样式复制到我自己的样式表中,这对于结构和基本样式至关重要。

1 个答案:

答案 0 :(得分:3)

并不是很多人会需要这个,但我正在大量设计管理区域并试图覆盖所有默认样式,这在我的样式表中造成了破坏。

(PS取消注册管理脚本是相似的,但你必须确保它们在打印时不会合并。我会在以后的另一个Q& A中发布。)

因此经过一番挖掘,我找到了全球$ wp_styles。

在倾倒之后,​​我发现了大量的信息,并且在深处,每种风格的手柄。从那里,我可以注销必要的那些。下面是我用来查找句柄的调试代码,然后是一些注销样式的示例。

global $wp_styles;
echo var_dump($wp_styles);

然后只打印手柄。取消注释一行以便整齐地打印它们,或者在这里,它将它们放在一个列表中,您可以将其复制并过去到取消注册函数中。

    global $wp_styles;

    foreach($wp_styles as $main_obj => $vals){
    if(is_array($vals)){
        // echo var_dump($vals);
        foreach($vals as $name => $obj){
            if(!empty($obj->handle)){
                // echo $obj->handle, '<br />';
                echo '"'.$obj->handle. '", ';
            }    
        }
    }
}

我知道这里的插件可能有一些样式,但这里是管理区域中排队的所有脚本,只需从数组/函数中删除适当的样式,将其添加到钩子中,所有样式都将消失(不建议,但从那里挑选)。

add_action( 'admin_init', 'remove_admin_styles' );
function remove_admin_styles(){
    wp_deregister_style(
    'wp-admin',
    'ie',
    'colors',
    'colors-fresh',
    'colors-classic',
    'media',
    'install',
    'thickbox',
    'farbtastic',
    'jcrop',
    'imgareaselect',
    'admin-bar',
    'wp-jquery-ui-dialog',
    'editor-buttons',
    'wp-pointer',
    'jquery-listfilterizer',
    'jquery-ui-smoothness',
    'tooltips',
    );
    }