wp-discourse is a free, open source collaboration & feedback project written in PHP and released under GPL-3.0. It has 544 GitHub stars, 114 forks and 20 open issues, and was last pushed 3 days ago. On this registry it ranks #18 of 20 tracked projects in Collaboration & Feedback, with 5 head-to-head comparisons available.

What is wp-discourse?

What it is

WP Discourse is a WordPress plugin that acts as an interface between a WordPress site and a Discourse community. It lives in the WordPress plugin ecosystem and is written in PHP, distributed under the GPL-3.0 license. The plugin does not install or bundle Discourse itself; a Discourse forum must already exist before the integration will work. The two applications communicate through the Discourse API, which means the blog and the forum can run on separate servers, and the project documentation strongly recommends hosting them separately because their hosting requirements differ considerably.

The concrete problem it solves is comment management. A WordPress blog that wants threaded, moderation-aware discussion normally has to either rely on a hosted third-party commenting service or build something itself. WP Discourse instead routes discussion to a Discourse forum: when a new blog post is published, a corresponding forum topic is created automatically, and replies from that topic can be embedded back into the WordPress post. The plugin is explicitly not positioned as a substitute for Disqus-like commenting systems, and it cannot import old WordPress comments as Discourse replies.

Key capabilities

  • Automatically creates a Discourse forum topic for discussion whenever a new blog post is published.
  • Associates WordPress author accounts with their respective Discourse accounts without requiring DiscourseConnect.
  • Embeds forum replies inside the WordPress blog post, with display selectable by post score and commenter trust level.
  • Provides optional DiscourseConnect functionality so WordPress can act as the single-sign-on provider for a Discourse forum.
  • Allows the HTML templates used for publishing posts to Discourse and for rendering comments on WordPress to be customized in the theme via filters.
  • Supports running WordPress and Discourse on separate hosts, since all integration goes through the Discourse API.

Who uses it and how

  • Blogs that want forum-based discussion rather than on-site comments use it to push each published post into a Discourse topic.
  • Publishers running WordPress for content and Discourse for community use the embedding feature to surface selected replies beneath the original article.
  • Sites with existing large-scale WordPress user management enable DiscourseConnect so WordPress becomes the identity provider and Discourse's native login flow is overridden.
  • Theme developers hook into the template filters to customize how posts and comments are rendered.
  • Deployments such as blog.discourse.org and boingboing.net run the plugin in production.

Getting started

Installation is available through the WordPress dashboard by searching for "WP Discourse" under Plugins > Add New, by downloading the plugin and uploading the wp-discourse directory to /wp-content/plugins/, or with Composer via composer require discourse/wp-discourse ~1.3.2. The plugin requires PHP 5.4.0 or higher.

When to use it — and when not to

This is the right choice when a Discourse forum is already part of the plan and the goal is to make it the community layer for a WordPress blog, particularly for sites that need WordPress to serve as the single-sign-on provider. A self-hoster must operate a WordPress installation and a separate Discourse instance, since the plugin installs neither; the two are best kept on different servers. The evident limitations are that existing WordPress comments cannot be migrated into Discourse

project readme (upstream, from github) — read inline

WP Discourse

OpenCollective OpenCollective

Note: the wp-discourse plugin requires >= PHP-5.4.0.

The WP Discourse plugin acts as an interface between your WordPress site and your Discourse community.

The plugin is not a substitute for Disqus-like commenting systems.

Use Discourse for Comments:

  • Automatically creates a forum topic for discussion when a new blog post is published.
  • Associates WP author accounts with their respective Discourse accounts. Does not require DiscourseConnect.
  • Replies from the forum discussion can be embedded in the WP blog post. Select which replies to display based on post score and commenter "trust level" -- see docs.
See it Live

DiscourseConnect

The plugin also comes with optional DiscourseConnect functionality which lets you use your WordPress site as the DiscourseConnect provider for your Discourse forum.

This will override Discourse's native (and powerful) login flow and is only recommended for use cases that strictly require such a setup, e.g. a site that is already using WordPress for large scale user management.

Contact

Please post bug reports, support requests and all other inquiries in our dedicated support forum

Installation

From your WordPress dashboard
  1. Visit 'Plugins > Add New'
  2. Search for 'WP Discourse'
  3. Activate WP Discourse from your Plugins page
From wordpress.org
  1. Download WP Discourse
  2. Upload the 'wp-discourse' directory to your '/wp-content/plugins/' directory
  3. Activate WP Discourse from your Plugins page
With Composer

If you're using Composer to manage WordPress, add WP-Discourse to your project's dependencies. Run:

composer require discourse/wp-discourse ~1.3.2

Or manually add it to your composer.json:

{
  "require": {
    "php": ">=5.4.0",
    "discourse/wp-discourse": "~1.3.2"
  }
}

For more detailed instructions please see the WP Discourse plugin installation and setup.

Frequently Asked Questions

Does this plugin install Discourse for me?

No this plugin acts as an interface between Discourse and WordPress. For it to work you will need to first set up Discourse forum. You can install Discourse for yourself following either of these guides:

Can I import old WordPress comments as Discourse comments (i.e. "replies")?

No.

Do WordPress and Discourse have to be installed on the same server?

The plugin uses the Discourse API, so your forum and blog can be hosted separately and the integration will still work. In fact, we strongly recommend hosting the two applications separately, since their hosting requirements are very different.

Is it possible to customize the comment templates?

Yes, the html templates used for publishing posts on Discourse and for displaying comments on WordPress can be customized in your theme. This is done by hooking into the filters that are applied to each template.

For more details on template customization, see: WP Discourse template customization

Contributing

Before you start contributing or developing this plugin please read the documentation in docs/, starting with contributing.md. If you have any questions about those process, please post in #dev for assistance.

Frequently asked questions

Is wp-discourse free to use?

wp-discourse is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does wp-discourse do?

WordPress plugin that lets you use Discourse as the community engine for a WordPress blog

What is wp-discourse written in?

wp-discourse is primarily written in PHP. Its source is publicly available at https://github.com/discourse/wp-discourse, and it has 544 GitHub stars.