基本上,我试图只加载网站正在使用的css规则,希望有一个选项可以从加载中删除所有前端css,而不是从网站上实际使用的所有插件中删除一个包含所有css的文件。我希望减少超过半MB的css没有在一个网站上使用。
认为必须有一种方法来unenqueue
所有在wordpress前端排队的样式,并替换为1个缩小的css文件。
有什么想法吗?希望css在后台管理区域正常加载。
老实说,我知道这听起来像个疯子。比如,为什么要有CMS呢?嗯,有些事情可能需要更改,而不是重新编译网站上所有使用过的css。这实际上只是一个想法,让移动设备的网站速度尽可能快,css明智。并且比最终缓存和CDN这个css文件更快的性能。
要从站点前端将所有css文件出列,可以使用以下代码:
function my_prefix_remove_all_styles() {
if ( is_admin() ) {
return; // Return if the request is for an administrative interface page
}
global $wp_styles;
$wp_styles->queue = array();
}
add_action( 'wp_print_styles', 'my_prefix_remove_all_styles', 100 );
请注意,上面的代码不适用于内联样式,但它将通过wp_enqueue_scripts
挂钩将所有在WordPress中正确排队的样式排成队列。然后,你可以自己将样式组合在一个大的css文件中并缩小它。
如果你可以使用插件进行静态资源优化,我可以建议你使用WP Fastest Cache。它可以自动进行缩小、串联和文件缓存。您还可以从缓存/缩小中排除特定文件。