WordPress 6中theme.json配置自定义字体无效问题求助
让我帮你排查下theme.json字体配置不生效的问题,看了你的配置,主要有几个关键地方需要调整:
你在fontFace节点里写的fontFamily: "Rubik Glitch, cursive"是错误的——这里的fontFamily必须和外层字体家族的核心字体名完全一致,不能带fallback字体(比如cursive)。正确写法应该是:
{ "fontFamily": "\"Rubik Glitch\", cursive", "name": "Rubik Glitch", "slug": "rubik-glitch", "fontFace": [ { "fontFamily": "Rubik Glitch", "src": ["file:./assets/fonts/Rubik_Glitch/RubikGlitch-Regular.woff2"], "fontWeight": "400", "fontStyle": "normal" } ] }
额外建议加上fontWeight和fontStyle属性,明确字体的默认属性,避免WordPress无法正确匹配字体规则。
你添加了rubik-verdana和rubik-italic-verdana两个字体家族,但没有对应的fontFace配置——WordPress不知道从哪里加载Rubik的字体文件,所以切换这两个字体时页面完全没变化。如果你的assets/fonts目录里有Rubik常规和斜体的woff2文件,需要补充如下配置:
{ "fontFamily": "Rubik, Verdana, sans-serif", "slug": "rubik-verdana", "name": "Rubik", "fontFace": [ { "fontFamily": "Rubik", "src": ["file:./assets/fonts/Rubik/Rubik-Regular.woff2"], "fontWeight": "400", "fontStyle": "normal" } ] }, { "fontFamily": "Rubik, Verdana, sans-serif", "slug": "rubik-italic-verdana", "name": "Rubik Italic", "fontFace": [ { "fontFamily": "Rubik", "src": ["file:./assets/fonts/Rubik/Rubik-Italic.woff2"], "fontWeight": "400", "fontStyle": "italic" } ] }
注意:斜体字体不需要单独命名为Rubik-Italic,而是通过fontStyle: italic来区分,这样CSS才能正确识别并应用斜体样式。
确认你的woff2文件实际存放路径和src里的配置一致,比如RubikGlitch-Regular.woff2是否真的在assets/fonts/Rubik_Glitch/目录下。另外要注意文件名的大小写——如果你的服务器对大小写敏感,文件名大小写不匹配会导致字体加载失败。
WordPress会缓存theme.json的配置,修改完成后记得清理站点缓存(包括浏览器缓存),再切换字体测试,缓存残留可能会导致新配置无法立即生效。
内容的提问来源于stack exchange,提问作者Ron

