Just to clarify on one more point, what I’m suggesting here is strictly the ability to link (and unlink for that matter) WordPress posts and Discourse threads as you see fit.
I am not asking for the contents of a linked Discourse post to be pulled into the WP thread or anything like that. That work is up to the Editor. Personally I’d just write a brief manual excerpt (maybe in 140 characters or less and let WordPress deal with the Twitter/Facebook publishing as well) and link to the forum topic, with the comments showing below.
I would also like to have this kind of plugin/feature. Our forums are much more active than blog section, and news break first there. In vBulletin 4 was great feature to promote topic to cms/front page as article. Something like that will be awesome to have for Discourse first posts to be published as blog posts in WP.
I have a situation right now where I want to embed a topic in a couple different sites. Which means that I now have a WordPress site where I want to use an existing topic as the embedded comments. Which brings me to this:
This PR adds a field to the meta box (Existing Topic ID). When a value is added to this field it uses that topic for the comments as opposed to the topic that was published. It doesn’t matter if Published is checked or not. This will override it. Clear out the field and it resumes it’s previous setup.
I’d love to see this make it into the core plugin! Let me know if I can do anything to help make it so.
Thanks for this great plugin @simon. I’d love to use this plugin for my blog but have put manual link to posts in the past. Is there any way I can manually make a connection and tell the plugin that a post already has a topic on discourse?
I’ve done some work on making a shortcode for displaying Discourse topics. At this point, it only displays the first post in the topic, it doesn’t display any of the comments. It gives you the option of displaying the full post content, an excerpt, or just the title and some metadata about the topic.
The styles I’m using here are rough, but this gives you an idea of how it could work. Adding a couple of shortcodes like this:
My problem is that I have manually created Discourse topics for old blog posts and then simply put a link to the forum at the end of the post:
Obviously this is sub-optimal because it doesn’t show any of the comments on the blog and gives no indication of engagement.
What I hoped to do is install the WP Discourse plugin and use it for any new blog posts but also go back to old posts and manually link the posts with the forum topics with the hope that they would display the same way as any new post would (ie. showing the comments directly on the blog post). Does this make sense?
Yes it does. I’ve moved this discussion to an existing topic. There seem to be two separate feature requests in this topic: linking posts in a way that will pull the Discourse comments to WordPress, and just adding a Discourse topic link to a WordPress post.
It is possible to link an existing post to an existing topic so that the Discourse comments are displayed on WordPress. This is based on what @joebuhlig does in the PR in this topic, but with some changes to the Discourse meta box. When the WordPress post editor for a post that is not linked to Discourse is opened, it will first look like this:
Selecting Create new Topic displays this:
Selecting Link to Existing Topic displays this:
After either creating a topic, or linking to an existing topic, the metabox displays this:
Selecting the Unlink Post checkbox removes the Discourse metadata from the post so that it no longer displays Discourse comments.
The biggest issue with doing this is that it’s not possible to set the Discourse topic embed_url for topics that already exist on Discourse. That could be made to work, but would require some changes to the Discourse code.