本文最后更新于 821 天前,其中的信息可能已经有所发展或是发生改变。
很多年前,随着数据库对 utf8mb4 的支持或 WordPress 使用 HTML-encoded 制作的兼容层的应用,Emoij 才算是正式被 WordPress 支持。不过对于浏览设备而言,字体文件的缺失而无法显示 Emoji,或不同系统中 Emoji 的设计歧义也在很长一段时间里时常困扰着开发者和使用者。
针对这种情况,WordPress 使用了一种 “将文本 Emoji 在客户端渲染为对应 SVG 图像” 的技术。可以在任何设备上显示来自 Twitter 开源的 Twemoji 一致的 SVG 图像。该 SVG 图像存储在 WordPress 的 CDN 中,浏览器会请求 CDN 指定目录中对应 Emoji 的 Unicode 码,就像这样:
https://s.w.org/images/core/emoji/14.0.0/svg/2764.svg
在最近的版本中,WordPress 增加了一个钩子供开发者修改本 CDN 地址。可以实现一些类似 CDN 加速或资源替换的效果,说起资源替换,为什么不看看微软开源的可爱 Emoji:Fluent Emoji 呢?
于是我写了个小插件来动态完成 Emoji 资源的替换。至于为什么不部署静态文件?主要是因为微软的这套 Emoji 的资源并不齐全,在我先前的体验中 404 错误频发。所以在种种解决方案之中来选的话,还是使用一个功能完备的插件来实现是最合适的。这样可以在 Fluent Emoji 没有对应资源的情况,可以 fallback 到 WordPress 的 Twemoji,就很棒。
项目简单的很,实现代码没什么值得讲一讲的部分。插件的下载也在本仓库:
您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan
作者申请此计划后将作者的文章进行搬迁同步到社区的专栏下,你只需要简单填写一下表单申请即可,我们会给作者提供包括流量、云服务器等,另外还有些周边礼物。