WordPress如何识别Windows11评论

Windows11是Windows10的换皮,useragent值中的版本号Windows版本号还是Windows NT 10,所以,评论插件全部翻车。

在Chrome 95以后的内核后,可以通过JS的方式,来识别Windows版本。

详情查看:微软官方说明

navigator.userAgentData.getHighEntropyValues(["platformVersion"])
 .then(ua => {
   if (navigator.userAgentData.platform === "Windows") {
     const majorPlatformVersion = parseInt(ua.platformVersion.split('.')[0]);
     if (majorPlatformVersion >= 13) {
       console.log("Windows 11 or later");
      }
      else if (majorPlatformVersion > 0) {
        console.log("Windows 10");
      }
      else {
        console.log("Before Windows 10");
      }
   }
   else {
     console.log("Not running on Windows");
   }
 });

但是,就算是JS识别到了,也没法修改客户端UA啊

所以,这儿给一个方法,给评论添加一个隐藏表单,内容自定义。添加钩子:preprocess_comment

可以获取到表单的内容,并且识别他,然后把UA改成Windows NT 11.0版本,这样就能正常显示Windows11了。效果如下图所示。

上一篇 CorePress 5.8主题导航图标演示
下一篇 CorePress使用插件的方式添加文章和页面模板
目录
applek

applek管理员

个人说明在个人中心里面设置

本月创作热力图

最新评论
fei8080@163.com
fei8080@163.com
4月30日
很好
Mr.C
Mr.C
4月12日
个人建议,下个版本考虑将下载地址加密(防止采集)
Felix
Felix
4月1日
你好我想请教一下,为什么我php和redis都安装了,还是连接不上,一直显示未安装,旧插件文件也清理了
Mike
Mike
4月1日
当前页跳转一个页面,然后回退上一页,顶部进度条会缓慢加载,并且加载不完
评论于留言建议
Mike
Mike
4月1日
文章页划到最底部,侧边栏中切换作者发言会溢出
评论于留言建议