3

我必须在另一个开发人员使用自定义主题设置的 wordpress 网站上解决一些问题。主题包括一个style.css引用同一主题中字体文件的文件:

@font-face {
    font-family: 'foo';
    src: url('fonts/foo and bar.eot');
         url('fonts/foo and bar.woff') format('woff'),
         url('fonts/foo and bar.ttf')  format('truetype'),
         url('fonts/foo and bar.svg#svgFontName') format('svg');
}

没有缩小 style.css 文件被加载并且字体指向<base-url>/wp-content/themes/<theme-name>/fonts. 启用CSS minfy功能后,站点无法加载字体文件,因为相对链接仍然相同并且现在指向<base-url>/wp-content/cache/minify/fonts. 该位置不存在字体文件夹。

我尝试上传主题fonts/文件夹,wp-content/cache/minify只要字体文件重命名为.old文件或整个文件夹在服务器端被删除,该文件夹就不起作用。不知道这是W3 Total Cache还是其他进程的作用。

未启用 CDN 支持。CSS minfy 功能的配置如下所示:

在此处输入图像描述

由于我对 Wordpress 还很陌生,因此我将不胜感激任何关于我可以研究的解决方案或方法的提示。

我知道我可以尝试将字体文件直接嵌入到 css 文件中,但由于文件大小,不需要这种方法。所以我基本上是在寻找如何使用W3 Total Cache扩展来处理这个问题的默认方法。

注意:用绝对 url 替换相对 url不是一个选项,因为该站点用于具有子目录和主域级别的不同环境中。

更新我发现这个问题似乎是插件内部的一个错误,它与使用包括空格在内的文件名有关。已经更新了上面的参考代码。W3 Total Cache的版本是 0.9.6

4

1 回答 1

0

我正在处理同样的问题,我正在处理的 W3 Total Cache 版本是 0.9.7,并且我不使用空格作为文件名。

我找到的唯一解决方案是使用 Font Awesome 免费 CDN,例如:

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.4/css/all.css" integrity="sha384-DmABxgPhJN5jlTwituIyzIUk6oqyzf3+XuP7q3VfcWA2unxgim7OSSZKKf0KSsnh" crossorigin="anonymous">

您可以将其包含在 header.php 中。这样,您将避免任何 W3 Total Cache 干扰。

于 2018-08-10T11:38:04.570 回答