【问题标题】:Is it possible to unenqueue ALL css files from loading on the front end of Wordpress but keep backend loading css as normal?是否可以取消所有 css 文件在 Wordpress 前端加载但保持后端加载 css 正常?
【发布时间】:2021-04-19 19:51:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: css wordpress enqueue


    【解决方案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。它会自动进行缩小、连接和文件缓存。您还可以从缓存/缩小中排除特定文件。

    【讨论】:

    • 谢谢,非常感谢。
    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 2021-05-18
    • 2015-12-24
    • 2015-09-22
    • 2019-04-06
    • 1970-01-01
    • 2021-10-16
    • 2021-11-24
    相关资源
    最近更新 更多