=== Multisite User Registration Fix === 允许用户使用相同的电子邮箱在 WordPress 多站点网络中的多个子站点进行注册,并为每个站点分配不同的角色。 Contributors: Nick de Wit, AI Tags: 多站点, 用户注册, 子站角色, 相同邮箱, 多语言, 可翻译, 网络管理员, 用户同步, wp_users, 预约系统, amelia, memberpress, woocommerce, wpml, loco translate Requires at least: 5.6 Tested up to: 6.7 Stable tag: 3.1.2 License: GPLv2 或更高版本 License URI: https://www.gnu.org/licenses/gpl-2.0.html == 插件描述 == **为您的 WordPress 多站点网络启用智能用户注册功能 —— 允许已有账号的用户使用相同邮箱在其他子站点注册,并分配特定角色。完全支持翻译与多语言!** 在默认情况下,WordPress 多站点会阻止用户使用已存在于网络中的邮箱注册新账号。这对于每个子站点都是独立功能的平台(如教练目录、SaaS 门户、多语言社区或连锁结构)来说,是一个常见问题。 Multisite User Registration Fix 插件可解决这个问题: - 检测注册用户的邮箱是否已存在于网络中 - 自动将该用户添加到当前子站点,并分配预设角色 - 在网络管理界面中集中管理每个子站的默认角色 - 当用户被添加到新子站时发送确认邮件 - 避免重复邮箱注册错误 - 支持完整翻译(`.pot` 文件 + WPML、Loco Translate、Poedit 等) 兼容如 Amelia、MemberPress、WooCommerce 等注册/预约/会员插件。 == 插件功能 == * ✅ 使用相同邮箱在多个子站点无缝注册 * 🛠️ 每个子站点可单独设置默认用户角色(通过网络后台) * ✉️ 成功添加用户时自动发送确认邮件 * 🧩 支持 MU-plugin 形式(放入 `mu-plugins` 即可运行) * 💡 支持原生注册、预约插件、会员插件等 * 🌐 完整翻译支持 – 附带 `.pot` 文件,适配多语言环境 == 安装方法 == 1. 上传插件至 `/wp-content/mu-plugins/` 目录(推荐)或 `/plugins/`(标准插件模式) 2. 登录 **网络管理员 → 设置 → Multisite User Fix** 页面 3. 针对每个子站设置已有用户默认分配的角色 4. 完成!用户可使用同一邮箱注册多个子站,且角色各不相同 == 常见问题 == = 我可以为每个子站设置不同的角色吗? = 可以!通过网络管理界面的插件设置页为每个子站配置不同默认角色。 = 如果用户用已注册邮箱再次注册会怎样? = 系统会自动将其添加到当前子站点,并分配你预设的角色,不会创建重复账号。 = 插件是否兼容 Amelia、MemberPress 等插件? = 是的,本插件可兼容所有基于 WordPress 用户系统的注册类插件。 = 是否支持翻译和多语言? = 支持!插件内含 `.pot` 文件,并使用 WordPress 国际化标准函数,可与 WPML、Loco Translate、Poedit 等配合使用。 = 可以作为普通插件使用吗? = 可以,但推荐使用 MU 插件模式以确保跨站点一致性和稳定性。 = 如果没有为某个子站设置角色,会发生什么? = 系统会默认分配 'subscriber'(订阅者)角色。 == 插件截图 == 1. 网络后台中每个子站的角色设置界面 2. 用户收到的确认邮件示例 3. 同一用户在不同子站显示不同角色 == 更新日志 == = 3.1.4 = * 修复:移除了重复的后台菜单,统一了设置页面 * 修复:将所有旧的或通用的前缀替换为 `multusre_`,以避免名称冲突 * 修复:调试日志现在使用唯一的动作 `multusre_debug_log`,符合 WP.org 要求 * 修复:修正了 `wp_new_user_notification` 函数的覆盖用法 * 改进:代码结构现在完全符合 WordPress 插件开发规范 * 清理:删除了对 `murflog`/`murf_*` 的旧引用 * 准备提交审核并发布到 WordPress.org 🎉 = 3.1.2 = * 修复:修复了 `murflog()` 中未匹配的大括号导致的严重 PHP 解析错误 * 修复:完全符合 WordPress.org 插件规范 – 不再使用原始的 `print_r()` 或 `error_log()` * 改进:`murflog()` 现在使用 `json_encode()` 生成更干净的日志输出 = 2.8.6 = * 新增:支持动态设置新用户注册邮件的主题 * 新增:支持发送 HTML 格式的注册邮件 * 新增:支持完整占位符系统(%placeholders%),并提供使用说明 * 新增:新增占位符,如 %displayname%、%blogname%、%siteurl%、%username%、%email%、%loginlink% * 新增:通过条件逻辑区分全新用户和已存在的网络用户(激活邮件 vs 欢迎邮件) * 新增:更准确地检测真正的新用户(不在 wp_users 或只属于其他子站点) * 新增:添加了安全回退逻辑,防止用户分类错误 * 优化:重构代码逻辑,提升结构清晰度 * 优化:设置界面用户体验和界面改进 * 修复:被删除的用户有时被误判为现有用户 — 已修复 * 修复:激活链接缺失或格式错误 — 已修复 = 2.1 = * 新增:网络管理员可为每个子站设置用户角色 * 添加:角色选择下拉框的设置页面 * 优化:角色处理逻辑的安全性与兼容性 = 2.0 = * 中心化角色配置功能 * 增强插件兼容性 = 1.0 = * 初始版本:基于邮箱自动关联已有用户到子站 == 升级提示 == = 2.1 = 强烈推荐更新:加入子站角色设置和更精细的用户控制功能。 == 备注 == 适用于需要在多个子站间共享用户注册的 WordPress 多站点架构,同时保持每个站点的用户角色与权限独立。非常适合教练平台、教育门户、SaaS 系统等。 插件由 [DeTransformatieTafel.nl](https://detransformatietafel.nl) 团队开发 ✨