大家好,很高兴能成为这个社区的一员。
我正在围绕情商和人际关系主题打造一个社区。这里是一个让人们提问、倾诉烦恼、提供建议或仅仅是倾听的地方。论坛的基础层级将免费开放。而更深入、更具治疗性质的板块将设为私密,仅限付费订阅用户访问。
我想就我的实施计划征求一些反馈,以确保我走在正确的轨道上。目前,我已基于以下技术对该平台进行了原型设计:
Wordpress - CRM
WooCommerce - 维生素、健康产品
Discourse - 论坛
Ultimate Member - 账户/角色管理
Paid Memberships Pro - 订阅管理
我这样理解是否正确:角色应在 Ultimate Member 中设置(如免费订阅者、黄金会员、版主、作者等)。当用户升级账户时,Paid Memberships Pro 应向 Ultimate Member 触发钩子。随后,Discourse 可通过 WP Discourse 插件镜像这些群组及其权限。
我理解得对吗?
Discourse 中的角色是否需要独立于 Ultimate Member 中的角色进行设置?它们会自动同步过去吗?
在开发此项目时,我还需要考虑其他什么事项吗?
我已经阅读了以下三个讨论帖。我想我并不是在寻求实施建议,而是希望确认我设计的核心功能是否合理。
When Discourse is used as the SSO provider, you can check if a WordPress user has a Discourse account by checking if the value returned by this statement is empty:
get_user_meta( $user_id, 'discourse_sso_user_id', true );
You’ll need to do something to handle the case where the user doesn’t yet have a Discourse account. Creating the user via the API and adding them to the appropriate groups is probably the right solution. It will take some work to set that up.
Try this. I haven’t tested it, so there could be errors. It’s worth having this as a reference. Let me know if it doesn’t work.
add_filter( 'wpdc_sso_params', 'wpdc_custom_sso_params' );
function wpdc_custom_sso_params( $params ) {
$add_groups = array();
$remove_groups = array();
if ( current_user_can( 'mepr-active','memberships:48259,48238' ) ) {
$add_groups[] = 'TransformPlus';
} else {
$remove_groups[] = 'TransformPlus';
}
if ( current_user_can( 'mepr-active','memberships:…
我还在寻找开发者(们)和设计师(们)与我共同实施这个项目。如果您感兴趣,或者您有值得信赖的平面设计师或网页开发者的优秀推荐,请随时联系我。
谢谢!
1 个赞
WooCommerce
Ultimate Member
Paid Memberships Pro
无需同时使用所有这些插件。既然您本来就要使用 WooCommerce,更推荐的做法是采用 WC Subscriptions 和/或 WC Memberships ,它们与 WooCommerce 核心集成良好。额外叠加 PMPro 和 Ultimate Member 只会使情况复杂化并降低可靠性。
或者,您可以考虑使用 Discourse Subscriptions ,并将 Discourse 作为 SSO 提供商。如果会员权益主要是访问论坛的特定区域,那么这很可能是最佳方案,您甚至完全不需要 WordPress 的会员管理功能。
3 个赞
初衷是避免每年花费 200 美元购买专有插件。感谢您关于 Discourse 订阅的提示,这或许正合我意。
1 个赞
system
(system)
关闭
2021 年2 月 3 日 15:44
4
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.