Safari访问WordPress插件异常是因老旧插件硬编码UA检测或依赖Chrome专属API,需注释wp-o-matic.php中IE检测语句、启用JavaScript与弹窗权限、禁用内容拦截器,或替换为WP RSS Aggregator等现代插件。
当你在Mac或iOS设备上用Safari访问WordPress后台或前端页面时,发现WPRobot设置页弹出“Please switch to Firefox / Safari”提示、WP-o-Matic插件拒绝加载、或者某些管理功能按钮点击无响应,这通常不是浏览器故障,而是插件代码主动拦截了Safari UA字符串或依赖了Chrome专属API。
这类问题多见于老旧插件(如WP-o-Matic 1.0RC4),其PHP代码中硬编码检测MSIE,却错误地将Safari的User-Agent也判定为IE兼容模式。
第一步:通过FTP或主机文件管理器,定位到wp-content/plugins/wp-o-matic/wpomatic.php文件
第二步:打开该文件,搜索关键词die('Please switch to Firefox / Safari'),定位到第1079行附近的一段条件判断
第三步:将整段if语句注释掉——包括if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))及其后紧跟的die(...)行,前后各加//符号
【关键前提】修改前必须备份原文件,否则插件升级会覆盖改动,且错误注释可能引发500报错
部分WordPress插件前端依赖JavaScript高级特性或弹窗交互,而Safari默认策略会阻止它们运行。
打开Safari → “Safari浏览器” → “偏好设置” → “安全性” → 勾选“启用JavaScript”
点按“网站”标签 → 左侧选择“弹出式窗口” → 在当前WordPress站点右侧下拉菜单中选“允许”
点按左侧“内容拦截器” → 确保对应站点的下拉菜单是“关闭”,不是“阻止”或“自动”
若插件含Flash或旧版Java组件,【请放弃】Safari自2020年起已彻底移除对Flash的支持,任何依赖Flash的WordPress插件在Safari中必然失效
方法一:启用Safari开发者菜单 → 右键网页空白处 → “检查元素” → 按Cmd+Opt+R调出控制台 → 输入以下命令后回车:navigator.__defineGetter__('userAgent', () => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36')
方法二:安装Safari扩展“User Agent Switcher”,在WordPress后台页面右上角点击扩展图标 → 选择Chrome UA → 刷新页面
注意:此操作仅影响当前标签页,关闭即失效;生产环境切勿长期使用,可能触发CDN或安全插件的异常行为检测
WP-o-Matic类RSS采集插件已停止维护,直接替换为现代替代品更可靠:
安装WP RSS Aggregator:支持WebP图片自动转换、Safari原生Fetch API、无UA检测逻辑
启用Auto Post Scheduler:基于WordPress Cron而非客户端JS轮询,彻底规避浏览器兼容性层
若必须保留旧插件功能,可将WPRobot配置页导出为静态HTML,用Safari打开本地文件完成初始设置,后续仅在Chrome中维护