我在WP自定义主题的head部分预装了一个web字体,当我使用完整的文件路径时,它不会抛出错误,并且工作正常。
当我使用WP功能时get_theme_file_uri
在href属性中,它加载字体,但在控制台和Chrome的Lighthouse audit中显示错误。我在href属性中使用的代码是:
href="<?php echo get_theme_file_uri(\'/fonts/alaska.ttf\') ?> );"
文件加载正常,但它质疑我是否起诉
as
控制台和Chrome的Lighthouse audit中的属性询问我是否正在使用
crossorigin
属性正确。我正在使用以下两种属性:
<link rel="preload" href="<?php echo get_theme_file_uri(\'/fonts/alaska.ttf\') ?> );" as="font" type="font/ttf" crossorigin="anonymous">
我的问题是,是否有一种WP方法可以在head部分用于获取比这更合适的主题文件。出于显而易见的原因,我不想将完整的文件路径放在我正在制作的主题中,然后在从localhost环境上载站点时必须更改此路径。
The Error Messages I Get Are:
控制台资源http://localhost:8888/inset/wp-内容/主题/插图/字体/阿拉斯加州。ttf%20);已使用链接预加载进行预加载,但在窗口加载事件后的几秒钟内未使用。请确保它具有适当的as
值,并有意对其进行预加载。
铬灯塔审计
警告:预加载<link>
已为找到;http://localhost:8888/inset/wp-内容/主题/插图/字体/阿拉斯加州。ttf“;但浏览器未使用。检查您是否正在使用crossorigin
属性正确。
我在本地主机和live站点上都收到了这些错误消息,没有进一步的信息/解释。
最合适的回答,由SO网友:Jacob Peattie 整理而成
href中有这些不应该存在的字符: );
在最后。
href="<?php echo get_theme_file_uri(\'/fonts/alaska.ttf\') ?> );"
应该是这样的
href="<?php echo get_theme_file_uri(\'/fonts/alaska.ttf\'); ?>"