# WP discourse - One wordpress multiple discourse instances

**URL:** https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754
**Category:** WordPress
**Created:** [December 21, 2021, 8:49am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754 "2021-12-21T08:49:52Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![jacin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jacin/32/238281_2.png) [@jacin](https://meta.discourse.org/u/jacin)
#### Post date: [December 21, 2021, 8:49am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/1 "2021-12-21T08:49:52Z")

</div>

Hello everyone,

I have one wordpress blog and I’m using the wmpl plugin to i18n it (9 countries)

I also have 9 isolated and independent discourse forums, one per country.

**Is there a way I can use the plugin [WP Discourse](https://github.com/discourse/wp-discourse) to connect my blog with the 9 discourse instances?**

Thank you so much.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [December 22, 2021, 3:07am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/2 "2021-12-22T03:07:11Z")

</div>

Hey @jacin, the [WP Discourse](https://github.com/discourse/wp-discourse) plugin does not currently support connections with multiple discourse instances from a single wordpress instance.

Your solution will depend on what you’re trying to accomplish:

- Publishing WP content from one blog to multiple discourse instances?
- Allowing users on your discourse instances to login with their WP account?
- Both?

Seperately, are each of the 9 isolated forums currently active? Have you considered making them a single forum with different categories for different language groups?

---

<div class="post-metadata">

### Author: ![jacin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jacin/32/238281_2.png) [@jacin](https://meta.discourse.org/u/jacin)
#### Post date: [January 3, 2022, 11:39am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/3 "2022-01-03T11:39:05Z")

</div>

Thank you so much @angus , I’m looking to publish WP content from one blog (with multiple languages) to multiple discourse instances. As this is something the [WP discourse](https://github.com/discourse/wp-discourse) plugin doesn’t handle I decided not to continue with this approach.

Regarding your question abut the 9 communities, we are a company about HR and the regulations, laws and most stuff is different per country.

Thank you so much.

---

<div class="post-metadata">

### Author: ![uffehe](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/uffehe/32/208266_2.png) [@uffehe](https://meta.discourse.org/u/uffehe)
#### Post date: [August 21, 2022, 2:00pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/4 "2022-08-21T14:00:18Z")

</div>

Hi @angus, I’m in a similar situation to @jacin - we’re looking into having separate Discourse sites for each country as laws and procedures vary by country but do not really overlap much. So there’s no real benefit to having a single forum, and it will likely just lead to confusion amongst users, and additional admin overhead in terms of keeping things separate etc.  
So we need a single (multi-language) WP site to publish (language specific) blogs to multiple Discourse sites. How would you recommend we do that? Thanks.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [August 22, 2022, 7:22am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/5 "2022-08-22T07:22:04Z")

</div>

> [@uffehe](#):
>
> we’re looking into having separate Discourse sites for each country as laws and procedures vary by country but do not really overlap much. So there’s no real benefit to having a single forum, and it will likely just lead to confusion amongst users, and additional admin overhead in terms of keeping things separate etc.

Just with my community consultant (and lawyer) hats on, I’d (informally, non-professionally and non-legally) advise you against this. There are a number of benefits in having a single forum as opposed to multiple. In fact, in my experience having multiple forums will lead to more user confusion and admin overhead, not less.

I’m not entirely sure what laws and procedures you’re referring to, but if it’s privacy regulation (e.g. the GDPR), my (informal non-professional non-legal advice) would be to comply with the most stringent (i.e. the GDPR). Many multi-national / trans-national forums work well on this basic principle.

In terms of running a multilingual community I’d suggest taking a look at these topics

> [@Structuring a multilingual community](https://meta.discourse.org/t/how-to-structure-a-multilingual-community/73225):
>
> bookmark This guide explains different approaches to organizing a Discourse forum for a multilingual community, including pros and cons of each method. person_raising_hand Required user level: Administrator Discourse offers several ways to structure your site for a multilingual community. This guide will explore the most common approaches and their advantages and disadvantages. spiral_notepad This topic is no longer the source of recommended approaches to structure a multilingual com…

> [@Multilingual Plugin globe\_with\_meridians](https://meta.discourse.org/t/multilingual-plugin/142740):
>
> The Multilingual Plugin makes it possible for administrators of a multilingual forum to create a rich and comprehensible environment for all users and guests, even if they don’t speak the default or majority language of the forum. [page_facing_up Get the code](https://github.com/paviliondev/discourse-multilingual)[book Read the documentation](https://coop.pavilion.tech/docs?ascending=false&category=94&solved=false)Overview of features The Multilingual Plugin extends the existing Discourse locale system to give you: an administrative interface for all languages used on your forum; a [content language system](https://coop.pavilion.tech/docs?topic=1693) whic…

But if you have your heart set on multiple forums, while the [WP Discourse](https://github.com/discourse/wp-discourse) plugin does not support this out of the box, it does have a flexible PHP interface which could be used to achieve that kind of integration. You’ll need to create your own custom Wordpress integration to use it. If you’re resourced to handle that I can guide you in the specifics of the implementation.

---

<div class="post-metadata">

### Author: ![uffehe](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/uffehe/32/208266_2.png) [@uffehe](https://meta.discourse.org/u/uffehe)
#### Post date: [August 22, 2022, 9:05am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/6 "2022-08-22T09:05:15Z")

</div>

Thanks @angus. I did read through those threads, and have also looked at the multilingual plugin which I think looks really good. I’m just not sure it’s right for our use case.

We’re building a site where e.g. home owner associations can host online discussions for their members. We would use one category per association in order to keep discussions private to the group, but we would also have a common area with information about local regulations etc. Aside from some general support about how to use the site etc., I don’t see that there would be much overlap in terms of the content/discussions at each location: Home owner associations are by their nature local and concerned with local regulations. So I’m not really seeing the benefit in using a single forum. We would have to dynamically change the names of the support categories, and do a lot of tagging of the topics in them to ensure that users are shown the right support etc. We wouldn’t need to worry about that with separate sites for each country unless I am missing something.

We’re just at the beginning stages so we don’t need it just yet, but I am wondering how hard it would be add the option to link multiple Discourse sites to the [WP Discourse](https://github.com/discourse/wp-discourse) plugin? I could definitely provide some developer capacity for that - thanks for the offer of helping us to get started. I might just take you up on it 🙂

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [August 22, 2022, 9:22am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/7 "2022-08-22T09:22:16Z")

</div>

> [@uffehe](#):
>
> We’re building a site where e.g. home owner associations can host online discussions for their members

Yes, that’d be one of the rare cases where I think having multiple forums may make sense.

> [@uffehe](#):
>
> We’re just at the beginning stages so we don’t need it just yet, but I am wondering how hard it would be add the option to link multiple Discourse sites to the [WP Discourse](https://github.com/discourse/wp-discourse) plugin? I could definitely provide some developer capacity for that - thanks for the offer of helping us to get started. I might just take you up on it 🙂

Sure. Once your developer has got to grips with the basics of the plugin they can post any specific questions here.

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [January 20, 2023, 9:43pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/8 "2023-01-20T21:43:09Z")

</div>

Has anything else materialized from this discussion?

I run Discourse forums on my ecommerce site (for regular customers), but I’m starting a premium program soon, and I’d like to provide forums for only those users.

Based on this discussion, I’m not seeing a realistic way for me to do this with one WP installation and 2 Discourse instances.

This setup is preferable to an entirely new domain for a slew of reasons—cost, hassle, branding, and I already have a sizable audience on the existing domain.

Any ideas for how I might be able to tackle this?

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [January 21, 2023, 3:42am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/9 "2023-01-21T03:42:19Z")

</div>

As far as I’m aware there’s still a 1:1 relationship. Are you sure you can’t achieve this using groups and protected categories?

I’m aware of several wp sites selling subscriptions and tying those purchases to group memberships within the SSO payload.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [January 21, 2023, 11:24am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/10 "2023-01-21T11:24:11Z")

</div>

> [@pearsonified](#):
>
> Based on this discussion, I’m not seeing a realistic way for me to do this with one WP installation and 2 Discourse instances.

The situation has not changed from my previous posts in this topic.

> [@Stephen](#):
>
> Are you sure you can’t achieve this using groups and protected categories?

I would also recommend this approach, and have also seen it used successfully in a number of communities with similar situations to yours.

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [January 23, 2023, 5:18pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/11 "2023-01-23T17:18:08Z")

</div>

My problem is all my power users are already level 3. How can I quarantine a category or sub-forum for only new users (and making new users level 4 is not an option).

Will I need to go through and demote all level 3s and then make it so nobody is ever auto-promoted beyond level 2?

Also unsure of how to “tag” (programmatically) the new subset of users who will be premium.

I appreciate any guidance y’all can provide!

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [January 23, 2023, 10:34pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/12 "2023-01-23T22:34:37Z")

</div>

Use groups rather than trust levels. Category access can be tied to either (or both).

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [January 25, 2023, 7:30pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/13 "2023-01-25T19:30:33Z")

</div>

Follow-up question:

Let’s say my users are on 1-year licenses, and their license expires. How can I automate the connection between WP and Discourse so access to the forums is only granted while a license is active?

(Right now, users are activated into the forums immediately, and nothing happens to their access when their account expires—unless I intervene manually. And even then, it’s a denial-of-service kinda thing and not a graceful “you do not currently have access to this resource” kinda thing.)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [January 31, 2023, 7:48am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/14 "2023-01-31T07:48:45Z")

</div>

> [@pearsonified](#):
>
> Let’s say my users are on 1-year licenses, and their license expires. How can I automate the connection between WP and Discourse so access to the forums is only granted while a license is active?

It depends on what you’re using to “license” users on Wordpress. If you’re using WooCommerce you can use the plugin and approach described here.

> [@Sync WooCommerce Memberships with Discourse groups](https://meta.discourse.org/t/sync-woocommerce-memberships-with-discourse-groups/118485):
>
> This Plugin allows you to Sync WooCommerce Memberships with Discourse Groups. Pre-requisites For this to work you have to have [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) enabled, with either Wordpress or Discourse as the [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) provider. Steps Install this Wordpress plugin [GitHub - paviliondev/discourse-woocommerce](https://github.com/paviliondev/discourse-woocommerce). Use the Wordpress theme editor to update these numbers to the WooCommerce plan\_id and Discourse group id and group\_name you want to sync $member\_group\_map[] = (object) array('plan\_id' =\> 51,…

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [February 14, 2023, 3:32pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/15 "2023-02-14T15:32:51Z")

</div>

I’m using Easy Digital Downloads. **What I need to know is the webhook to use in [WP Discourse](https://github.com/discourse/wp-discourse)** to handle this kind of thing; I have no expectation that a Plugin exists to solve my problem.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [February 15, 2023, 8:39am UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/16 "2023-02-15T08:39:59Z")

</div>

Sorry, you’ve lost me 🙂

> [@pearsonified](#):
>
> How can I automate the connection between WP and Discourse so access to the forums is only granted while a license is active?

You seem to be saying here that users have a licence on Wordpress and you want their access to Discourse to be dependent on it.

> [@pearsonified](#):
>
> I’m using Easy Digital Downloads. **What I need to know is the webhook to use in [WP Discourse](https://github.com/discourse/wp-discourse)** to handle this kind of thing; I have no expectation that a Plugin exists to solve my problem.

You seem to be saying here that the “licence” you were referring to above is a product you’re selling through Easy Digital Downloads? If this is the case this is not about webhooks.

I think you need to hire someone to help you with the specific setup you’ve got going there as you’ve gone beyond the [WP Discourse](https://github.com/discourse/wp-discourse) plugin here. You can describe your usecase in #Marketplace and you’ll get some folks who can help you out.

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [February 15, 2023, 7:30pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/17 "2023-02-15T19:30:43Z")

</div>

I explained myself poorly.

Based on your example code for WooCommerce, it looks like I need to pull in Discourse Utilities from the [WP Discourse](https://github.com/discourse/wp-discourse) Plugin and then determine which action points—hooks—I need to identify in Easy Digital Downloads to use to make adjustments to people’s accounts.

(This is the “automated connection” I was talking about.)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [February 16, 2023, 1:02pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/18 "2023-02-16T13:02:45Z")

</div>

> [@pearsonified](#):
>
> it looks like I need to pull in Discourse Utilities from the [WP Discourse](https://github.com/discourse/wp-discourse) Plugin and then determine which action points—hooks—I need to identify in Easy Digital Downloads to use to make adjustments to people’s accounts.

Yes, that’s correct 👍

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [March 18, 2023, 1:03pm UTC](https://meta.discourse.org/t/wp-discourse-one-wordpress-multiple-discourse-instances/212754/19 "2023-03-18T13:03:12Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
