kiefferr
(Ryan Kieffer)
1
我们有一个基于会员的网站,当会员资格过期时会暂停用户,并在他们续订时恢复。但是,这会产生一个副作用,即自动为他们提供处罚历史记录,我们必须在他们续订时手动清除。
我们可以通过创建一个自定义的“会员”组并在必要时将用户添加到该组或从中删除来更改处理过期会员的方式,但此时我们更希望让暂停方式奏效。
所以我的问题是:是否可以直接在 Discourse 中禁用处罚计数?我们非常信任我们的会员,并且可以在没有此功能的情况下处理个别不良行为者。
或者,如果用户确实有处罚历史记录并且他们处于 TL2(我们的默认用户 TL)级别,那么他们的处罚历史记录是否会对他们产生任何负面影响,或者是否会向更广泛的会员群体显示?如果不会,那么我们可以保留处罚历史记录而不去管它。
谢谢。
1 个赞
simon
2
这并非暂停功能的初衷,但对于基于会员制的 Discourse 网站来说,这是一种常见的做法。除了暂停期间用户无法晋升到更高的信任级别之外,我认为暂停用户没有其他副作用。
一个潜在的问题是,工作人员会在用户个人资料页面上看到用户先前暂停记录的链接:
不过,普通用户看不到这个。
我认为你们可以安全地继续使用暂停功能来处理过期的会员资格。
2 个赞
pfaffman
(Jay Pfaffman)
3
您可以选择停用账户,而不是暂停账户,这样 Discourse 将停止向他们发送邮件,直到他们重新激活为止,而且我认为您知道如何在他们重新订阅时修复它。
看起来您可以在 admin/user 上点击“用户备注”并删除暂停。这是否对您有效?
1 个赞
simon
4
这在很多情况下都行不通。停用的用户只需尝试登录,然后点击Discourse发送的激活邮件中的链接。
我认为,暂停用户或在订阅到期时更改其用户组成员资格是处理此问题的唯一方法。
3 个赞
pfaffman
(Jay Pfaffman)
5
确实如此。听起来他们似乎是通过外部管理登录,因此停用将阻止邮件发出,并且他们会在 SSO 系统中禁止登录。
听起来没错。
3 个赞
simon
6
这在过去已经出现过几次。Discourse 团队最初的回复是,暂停并非为此目的而设计。现在似乎已普遍接受这是一种有效的方法。
如果有任何实际的处罚,那应该被记录下来。但我认为并没有。
2 个赞
kiefferr
(Ryan Kieffer)
7
感谢您的评论和建议。
在这种情况下,我们确实是通过外部管理登录,并使用 wpdc_sso_provider_before_sso_redirect 钩子根据 WP 会员 ID 来禁止访问论坛。但这似乎是一个无关紧要的问题,而且暂停方法对我们来说是有效的。
我之前还有一个问题,通过一些搜索找到了答案,那就是关于已暂停用户的电子邮件摘要和通知。听起来他们可能仍然会收到一些私人消息,但否则的话,如果被暂停,他们将不会收到任何电子邮件。
我假设这对于自定义组方法也是类似的,尽管可能不那么优雅。也就是说,一个会员已过期并被移出主要的“会员”组,但如果存在“会员”组之外可见的类别,他们理论上仍然可以收到某种形式的活动摘要。
谢谢
瑞安
2 个赞
simon
8
这是正确的。只有管理员才能向被暂停的用户发送消息。
根据你的用例,它可以更优雅或不那么优雅。由于你使用的是带有 DiscourseConnect 登录的 WP Discourse 插件,你可以使用 Manage group membership in Discourse with WP Discourse SSO 管理用户组。它需要一些开发工作来设置,但该插件提供的辅助函数很有用。
2 个赞