【问题标题】:How can I avoid gutenberg blocks styles be written inline?如何避免内联编写古腾堡块样式?
【发布时间】:2022-12-31 09:10:02
【问题描述】:

我目前正在使用新的块注册方式,使用 block.json 文件。

我的问题是,如果我添加样式表,例如:

"style": [ "file:./overlapping-columns.css", "overlapping-columns-style" ],

在前端,样式将内联写入,而不是加载 overlapping-columns.css 文件。为什么?有没有办法让wordpress将它们作为文件加载?在文档上,它被写成它应该作为文件加载,并且是延迟加载的(仅当块显示在页面上时)。

【问题讨论】:

    标签: css wordpress performance wordpress-gutenberg gutenberg-blocks


    【解决方案1】:

    据我了解,条件加载在一定程度上取决于您使用的主题类型。

    如果它是基于块的/FSE 主题,块 css 将默认有条件地加载(我已经以有限的方式测试过)。

    如果它是一个经典主题(使用 php 模板),您将需要添加(听起来您已经添加)以下内容到您的主题中。

    add_filter( 'should_load_separate_core_block_assets', '__return_true' );
    

    该过滤器适用于整个安装,您无需将其添加到每个块。

    默认情况下(在块主题中)和启用了 should_load_separate_core_block_assets 过滤器的经典主题,WordPress 还将内联块的 css,在 this blog post 中有更多描述

    如果您希望将块 CSS 作为文件加载,请使用以下过滤器:

    add_filter( 'styles_inline_size_limit', '__return_zero' );
    

    (每个页面上都加载了其他 WordPress CSS))。

    【讨论】:

      猜你喜欢
      • 2022-06-21
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 2019-08-02
      • 2019-12-02
      相关资源
      最近更新 更多