You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义主题CSS调用字体报错,求修复及背景图适配方法

WordPress自定义主题:字体与背景图路径错误修复方案

问题原因

你的CSS中使用的相对路径url('fonts/xxx')是相对于CSS文件本身的位置(/assets/css/),浏览器会尝试在/assets/css/fonts/下查找字体文件,但实际字体文件存放在/assets/fonts/,路径不匹配导致了404错误。

修复方案(两种方法,优先选第一种)

方法1:修正CSS中的相对路径

通过../回到CSS文件所在目录的上一级(即/assets/),再指向目标目录,这种方法简单灵活,同时适用于背景图的路径调用。

修改后的@font-face代码:

@font-face {
    font-display: swap;
    font-family: "myfont";
    src: url('../fonts/myfont.eot');
    src: url('../fonts/myfont.eot?#iefix') format('eot'),
    url('../fonts/myfont.woff2') format('woff2'),
    url('../fonts/myfont.woff') format('woff'),
    url('../fonts/myfont.ttf') format('truetype'),
    url('../fonts/myfont.svg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

如果要调用背景图(假设背景图在/assets/images/bg.jpg),CSS写法如下:

.element {
    background-image: url('../images/bg.jpg');
}

方法2:使用绝对路径(适合固定主题目录的场景)

直接写入字体/背景图的完整绝对路径,缺点是如果主题目录名称修改,路径会失效,不推荐新手长期使用。

示例:

@font-face {
    font-display: swap;
    font-family: "myfont";
    src: url('/wp-content/themes/mytheme/assets/fonts/myfont.eot');
    src: url('/wp-content/themes/mytheme/assets/fonts/myfont.eot?#iefix') format('eot'),
    url('/wp-content/themes/mytheme/assets/fonts/myfont.woff2') format('woff2'),
    url('/wp-content/themes/mytheme/assets/fonts/myfont.woff') format('woff'),
    url('/wp-content/themes/mytheme/assets/fonts/myfont.ttf') format('truetype'),
    url('/wp-content/themes/mytheme/assets/fonts/myfont.svg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

总结

优先选择方法1的相对路径写法,既不需要修改PHP代码,也能适配主题目录的移动,同时完美解决字体和背景图的路径问题。

内容的提问来源于stack exchange,提问作者vimuth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:05:20