ACF PRO自定义Gutenberg块样式全局加载问题排查
问题原因分析
大概率是这几个原因导致块CSS全局加载而非按需加载:
- 直接全局入队了所有块CSS:如果在
functions.php里用wp_enqueue_style()直接把carrousel-css、accordeon-css这些样式全局加载,而不是只通过block.json关联块的样式句柄,WordPress就会跳过按需加载逻辑,直接把所有CSS都挂上。 - block.json配置出错:每个块的
style字段只能填对应的样式句柄(比如轮播块填carrousel-css),不能填完整的CSS文件路径。要是路径写错了,WordPress没法把样式和对应块绑定,就会全局兜底加载。 - ACF的全局加载选项被勾选:ACF PRO创建块时,有些版本的块设置里有“全局加载样式”之类的选项,要是勾了这个,ACF会强制把块样式全局加载,不管WordPress的按需加载规则。
- 主题/插件强制加载所有块样式:有些经典主题或者第三方插件会写代码遍历所有注册的块样式,然后全局入队,直接覆盖了WordPress原生的按需加载逻辑。
- 样式注册参数不对:注册CSS的时候,要是没把
$args里的scope设为'block',或者依赖关系配错了,WordPress识别不出这个样式属于特定块,就会全局加载。
内容的提问来源于stack exchange,提问作者Gustav
相关产品推荐
相关产品推荐

