0

基本上,我正在尝试仅加载该站点正在使用的 css 规则,希望有一个选项可以从加载中删除所有前端 CSS,以支持 1 个文件,该文件包含所有插件中的所有 CSS实际在网站上使用。我希望减少网站上未使用的半 MB 以上的 CSS。

认为必须有一种方法来处理unenqueue在 wordpress 前端中排队的所有样式,并用 1 个缩小的 css 文件代替。

有任何想法吗?不过,希望 css 在后端管理区域中正常加载。

老实说,我知道这听起来像个疯子。就像,为什么要拥有一个 CMS?好吧,有些东西可能需要改变,而不是需要为此重新编译网站上所有使用的 css。在 css 方面,尽可能快地获得移动设备的站点速度实际上只是一个想法。并且最终缓存和 CDN 这个 css 文件以获得更快的性能。

4

1 回答 1

1

要从站点前端出列所有 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。它会自动进行缩小、连接和文件缓存。您还可以从缓存/缩小中排除特定文件。

于 2021-04-19T20:38:54.947 回答