How best to engage Discourse for a larger WordPress magazine?

The DiscourseConnect client functionality works in a similar way to how other forms of social login work. For example, it’s similar to logging into WordPress through Facebook, but with your Discourse site as the authentication provider instead of Facebook. That means that before users can login to your WordPress site with DiscourseConnect, they will need to create an account on your Discourse site. Not creating a Discourse account won’t prevent any users from logging into your WordPress site though. When the WordPress site is the DiscourseConnect client, the normal username/password login on WordPress is still available.

Since you have a lot of users who are used to logging into your WordPress site, it might be worth considering using your WordPress site as the DiscourseConnect provider for your Discourse site. If you set things up that way, all of your existing users will be able to easily login to your new Discourse site. All they will have to do is click a link on your WordPress site. Details about how to construct a link to do that are here: Create a DiscourseConnect login link.

It sounds like you want to completely move the social aspect of your site from WordPress to Discourse, so possibly that would be a reason to not use your WordPress site as the DiscourseConnect provider. My concern is that requiring users to create new accounts on Discourse, instead of just logging into their WordPress account and clicking a link to access the forum, might prevent some users from joining the new site.

The main thing to be aware of if you use WordPress as the DiscourseConnect provider is that when things are configured that way, it becomes the only login method for Discourse. That means that you can’t have some users logging into Discourse through WordPress and other users logging into Discourse by registering accounts with a username/password on the Discourse site. All users will have to have accounts on WordPress to access the Discourse site.

Let me know if the distinction between using WordPress as the DiscourseConnect client and DiscourseConnect provider is not clear to you.

It’s technically possible, but I don’t think there is a well tested method of doing it. There might be some other members of this community who have ideas about how to approach it.

It might be possible. My sense is that it could lead to problems.

On your Discourse site, you can filter out unlisted topics by adding the following query string to a URL: ?status=listed. For example https://meta.discourse.org/latest?status=listed. There is an existing theme component that can be used to toggle between viewing “open” and “closed” topics: Topic Status Filter. If it doesn’t already exist, it would be fairly easy for someone to add “listed” and “unlisted” status’s to that filter. But I guess for that case you would only want the filter to be seen by staff users.

This could be accomplished from WordPress with an API request that was handled by a cron job.

6 Likes