阻止订阅者更改某些配置文件字段 时间:2013-12-19 作者:Linda H 有没有办法阻止“订阅者”编辑其个人资料中的特定字段,如电子邮件?我原以为这很简单,但我在网上读了不少关于它的帖子(包括这篇)prevent users from changing their email address 还有这个How do you make the email field on the profile page read only for subscribers?) 我还没有找到一个解决方案,它不涉及对核心代码进行黑客攻击(imo不希望),也不只是通过JS隐藏/禁用字段(这意味着从技术上讲,有人可以通过多种方式绕过它)。但由于我发现的大多数帖子(如果不是全部的话)都有几年的历史了,所以我在想,也许从那以后发生了什么事?如果不可能以“漂亮”的方式进行预防,是否有好的替代方案?我是否可以阻止“订阅者”用户访问配置文件,而是构建一个新表单,让他们更改密码?原因是电子邮件地址(可能还有一个或两个其他字段)将标识第三方系统中的用户,因此只能由管理员更改,管理员可以在两个位置更改该地址。 2 个回复 SO网友:anu 您可以尝试使用profile_update 钩Codex link here. 它在更新后激发,但提供旧用户数据的副本,因此您可以获取当前电子邮件地址,将其与旧电子邮件地址进行比较,并在必要时进行更改。 SO网友:Mark Kaplun 您的方法是错误的,用户应该能够在停止使用电子邮件并转到其他电子邮件时更改电子邮件。实际上,您应该做的是生成一个电子邮件地址已更改的通知,以便管理员可以对其进行操作并与其他系统同步,或者更好地编写一些自动执行此操作的代码。 结束 文章导航