I have WP discourse working for SSO and Restrict Content Pro for subscription, signup, but I am wondering how to set up levels during signup … That carry over to discourse?
Are you committed to using Restricted Content Pro? There are quite a few different WordPress membership plugins. My plan is to make a general wp-discourse-groups plugin that will work for most of them, but at the moment I’m making a plugin specifically for the WishList Member plugin. When it’s finished, I think it will do everything that you are looking for.
I’ve written code for some WordPress subscription manager that used API calls to manage groups on WordPress. It shouldn’t be hard to set up WordPress groups that whatever group manager you uses could connect to.
こんにちは、皆さん。この古い投稿を復活させさせていただきます。私の質問は Restrict Content Pro に適用されるため、元の投稿者(OP)のケースと類似しています。基本的に、私はメンバーシップシステムが Restrict Content Pro のサイトのサポートを行っており、有料の RCP メンバーシップに対応した Discourse グループ同期を実装しようとしています。具体的には、あらゆるメンバーシップを持つユーザーを、Discourse フォーラムの Members グループに同期させたいと考えています。
Simon の Managing Discourse group membership with WP Discourse SSO のような例を実行状態にするために、多くの時間を費やしてきました。SSO は正常に機能していますが、メンバーシップの同期(メンバーシップ有効化時にグループにユーザーを追加、またはメンバーシップ期限切れ時にグループからユーザーを削除)は依然として機能していません。
今回の投稿では、新しいメンバーを Discourse グループに追加する機能の実装に焦点を当てています。このサイトの Discourse フォーラムには Members という 1 つのグループしか存在しません。(グループからの削除も、Restrict Content Pro のフックが同じであるため、active サフィックスを expired に置き換えるだけで簡単に実装できるはずです。)Restrict Content Pro は、メンバーシップのステータスが変更されるたびに発火する rcp_transition_membership_status_active アクションフックをリストしています。このフックには $old_status と $membership_id のパラメータがあります。rcp_get_membership() を実行すると、RCP_Membership オブジェクトが返されます(これには、WordPress の $user_id への参照などが含まれています)。