Revisioning community - customer flow?


(Lea-Ann McGregor) #1

I’m trying to restart my community and need some guidance to see the customer flow and how Discourse connects with it all. I’m using woocommerce as the sales mechanism, LifterLMS as the course/membership mechanism, and Convertkit for email delivery…
Scenario first, question in (_)

  • enter via Discourse to read, login to post (when they login, do they then have a wp login/password and how is it communicated to them, wp or discourse?)
  • enter via woo to buy a product (if woo requires a login/password, is this the same for their discourse? is there a way to hook that product purchase to a particular category in Discourse, or should I use convertkit to tag them and then invite them to join in the discussion, or use woo to enroll them in a LifterLMS membership)
  • enroll in course via LifterLMS, (how to link to discourse for course discussion - would they be assigned to a group or category or closed forum?)

Any insight? I was using wishlist member and wpCourse, but it was too complicated to maintain. having LifterLMS handle both membership and courses seems easier. Any thoughts?


Member able to login and post as someone else?
(Brendan Schlagel) #2

Yes you can definitely do this with the WP Discourse plugin — using WordPress to manage accounts, with Discourse linked (SSO).

So there would just be login (WP / Woo); if someone comes to the forum first, they click a log-in link that takes them to the main WordPress login page and then redirects back to the forum.

And yes there’s a way to add people to groups based on courses / membership level they’re a part of in WordPress. There’s some good resources for how to do this when it comes to membership plugins; it should work similarly for an LMS plugin though each one will be slightly different, and it will take some custom coding to set up.

This is a good overview of how that kind of thing can be achieved:

Should also be possible to add someone to a Discourse group based on Woo product purchase, similar to above. Woo (and most WordPress plugins) has lots of “hooks” to which you can link custom code to trigger based on various actions. Can be tricky to figure out if you haven’t worked with before, but pretty straightforward for a WordPress developer assuming the plugins are well-coded.

The WP Discourse plugin has several features; besides the login integration you also have the option to set it up so Discourse powers comments on WordPress; you can do this on a page by page basis so you could associate a Discourse topic with a course page, or a separate topic for each course sub-page/module…pretty flexible!


(Lea-Ann McGregor) #3

If they do not yet have a login? How do I set up a register option?

ETA: do I just enable the Setting in wordpress for “Anyone can Register”?


(Brendan Schlagel) #4

Not sure how you have things set up currently, but probably the easiest would be for the login link (on Discourse) to go to a WordPress page that has both “join” and “log in” options. I think WooCommerce does it this way by default (both options on the same page). Or you could have separate links in the Discourse header to the corresponding signup / login pages on WP if it’s set up that way.

Re: the WP registration settings, I think it will depend on the different account types you want to have possible, as well as the plugins you’re using.

One thing to keep in mind is that WooCommerce basically overrides the default WP registration so I believe it’s not necessary to have “anyone can register” enabled — you can check in WP admin at WooCommerce > Settings > Accounts & Privacy to see account creation options. There may similarly be other settings for this w/ LifterLMS, not sure!

The settings you want will also depend e.g. for example if you want a free tier where anyone can sign up and use the forum, and optionally buy courses later, vs. making it so you can only make an account with purchase.


(Simon Cossar) #5

The easiest approach is to have completely separate logins for your WordPress site and your Discourse forum. This would mean that users would have to create accounts on both WordPress and Discourse. If you don’t want users to have to create two accounts you will need to use SSO between WordPress and Discourse. The WP Discourse plugin’s SSO Provider option can be used for this.

To get SSO working with Woocommerce you will need to configure the Path to your Login Page on the WP Discourse SSO Provider options page. Set the path to the page that your Woocommerce login form is on. For example /login.

One thing to keep in mind with SSO is that if you have previously enabled SSO on your Discourse forum using a different WordPress site than you are now using, you will need to delete the existing SSO records on Discourse. If this is not done, WordPress users may be logged into the wrong Discourse accounts.


(Lea-Ann McGregor) #6

Thanks, Simon. I’m trying to limit the logins needed by the customer so SSO it is. I have it set up and working properly between wordpress (provider) and discourse (client) right now, I think. I changed everything that was clubknit.knittingtoday.com to knittingtoday.com on the discourse side … anything else I need to change??

The woocommerce login page looks to be: My Account – Knitting Today — Inspiration, Education and Community for Hand and Machine Knitters … just input that in the Path to your Login box on under SSO Provider settings?

Thank you for clarifying!


(Simon Cossar) #7

As long as knittingtoday.com is using the same database as was used on clubknit.knittingtoday.com you will be fine. If it is a different database, the SSO records on your Discourse forum will need to be deleted.

For the login path, try using /store/my-account/


(Lea-Ann McGregor) #8

Excellent! I think I’m all set for now. Appreciate all the input!