为何网站菜单中两个Font Awesome图标突然显示为方块?
解决Font Awesome 4.7图标显示为方块的问题
看起来你遇到了挺头疼的问题——原本正常的Facebook和捐赠图标突然变成方块,菜单编辑器里还能看见,但iPad上完全不显示。结合你提供的代码和使用的ThemeIsle Menu Icons插件(基于Font Awesome 4.7),我整理了几个排查和解决方向:
1. 检查字体文件的加载状态
首先要确认Font Awesome的字体资源有没有正常加载:
- 在电脑上用浏览器开发者工具(F12),或者iPad上开启Safari的Web Inspector,查看「网络」标签页里的Font Awesome CSS和字体文件(.woff/.woff2格式)是否加载成功,有没有404错误或者跨域提示。
- 尝试强制刷新页面(电脑按
Ctrl+F5,iPad上长按Safari的刷新按钮选择「刷新并清除缓存」),有时候缓存损坏会导致字体加载失败。
2. 验证图标类名是否匹配Font Awesome 4.7
你贴的Facebook图标代码fa fa-facebook-square是完全符合4.7规范的,但捐赠图标要特别注意:
Font Awesome 4.7里没有fa-donate这个类名(这个是5.0版本新增的),如果你的捐赠图标用了这个类,就会显示方块。4.7里常用的替代类是fa fa-heart(爱心图标,常用于捐赠场景)或者fa fa-gift(礼物图标),你可以检查一下捐赠图标的代码是否用了正确的4.7类名。
3. 排查Font Awesome版本冲突
有时候其他插件或主题会偷偷加载更高版本的Font Awesome(比如5.x),和Menu Icons插件的4.7版本产生冲突:
- 用开发者工具查看页面加载的所有CSS文件,搜索「font-awesome」,看是否有多个版本的CSS同时加载。
- 如果发现冲突,可以禁用加载高版本Font Awesome的插件/主题,或者调整加载顺序,让4.7版本的CSS优先加载。
4. 针对iPad Safari的特殊排查
iPad的Safari对字体加载的限制更严格:
- 确保字体文件的服务器设置了正确的CORS(跨域资源共享)响应头,允许你的网站域名访问这些字体文件。
- 检查Safari的字体缓存是否损坏,可以尝试在iPad的「设置」→「Safari浏览器」→「清除历史记录与网站数据」,然后重新访问页面。
5. 重新配置Menu Icons插件
有时候插件的图标映射可能出现异常:
- 回到WordPress的菜单编辑器,找到这两个有问题的菜单项,重新选择对应的图标,保存菜单设置。
- 如果你的网站用了缓存插件(比如WP Rocket、W3 Total Cache),记得清空网站缓存,再刷新页面测试。
如果以上方法都没能解决问题,可以再提供一下捐赠图标的代码,或者页面加载Font Awesome资源的截图,这样能更精准地定位问题~
内容的提问来源于stack exchange,提问作者Andrew Truckle
相关产品推荐
相关产品推荐

