# Not generate topic automatically for all blog posts

**URL:** https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678
**Category:** Support
**Created:** [April 3, 2020, 9:37am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678 "2020-04-03T09:37:54Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 3, 2020, 9:37am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/1 "2020-04-03T09:37:54Z")

</div>

Hey there, is there any way to not automatically create a topic for every blog post we publish on our website yet still keep the discussion section?

I feel it makes more sense to generate a topic automatically as long as there’s a comment on a certain blog post. Currently the logic is that the topic should exist before people can comment.

Thanks in advance!

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [April 3, 2020, 9:41am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/2 "2020-04-03T09:41:46Z")

</div>

Is is the same thing that you want to do?

> [@Automatically publish posts from WordPress to Discourse](https://meta.discourse.org/t/automatically-publish-posts-from-wordpress-to-discourse/100486/4):
>
> Is it possible to auto-post from WordPress post to discussion on certain conditions? Say for example; auto post to discourse should trigger only when the WP-post has at least 3 comments?

If it is, see:

> [@Automatically publish posts from WordPress to Discourse](https://meta.discourse.org/t/automatically-publish-posts-from-wordpress-to-discourse/100486/8):
>
> This isn’t something that is built into the plugin, but I’m fairly sure it could be accomplished by writing a plugin that extends the WP Discourse plugin. If any hooks needed to be added to the WP Discourse plugin to allow it to be extended in this way, I would be happy to add them.

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 3, 2020, 10:27am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/3 "2020-04-03T10:27:10Z")

</div>

Thanks for your reply. Yes I did want to trigger post on discourse under certain conditions only.

However, our website isn’t built with WordPress. It’s built with Hugo.

Is there anything we can do to achieve that?

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 3, 2020, 10:31am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/4 "2020-04-03T10:31:28Z")

</div>

To be clear that we are not using any comment system other than Discourse. So what we want is to create a topic only when there is actually a comment on a post instead of a bunch of empty topics on Discourse like below:

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/4/b46d802ecf8b2236b9dcf78af3723559bf62c43d.png)

Did I make myself clear?

Is there a setting for this?

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [April 3, 2020, 3:06pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/5 "2020-04-03T15:06:54Z")

</div>

> [@Jamie\_Liu1](#):
>
> Did I make myself clear?

Not really… How are users supposed to reply to a topic if it’s not already posted somewhere? Every topic has to start with 0 reply. I guess I’m missing something here 🤔

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [April 3, 2020, 4:24pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/6 "2020-04-03T16:24:21Z")

</div>

> [@Jamie\_Liu1](#):
>
> So what we want is to create a topic only when there is actually a comment on a post instead of a bunch of empty topics on Discourse like below:

I think that what you want is have all topics that are pulled to Discourse from your website be marked as _unlisted_. When a topic receives a comment, it would automatically be marked as _listed_. Unlisted topics do not appear in the topic list, so this would prevent the topic list on your site from being full of topics with no responses.

This type of configuration makes sense for sites where people are accessing Discourse topics by clicking a “Start Discussion” link that is displayed below a blog post. Discourse does not have a setting for this, but I think it would be a reasonable feature request. The DIscourse WordPress plugin has this functionality, but it uses the Discourse API for unlisting and listing the topics.

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 4, 2020, 8:00am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/7 "2020-04-04T08:00:08Z")

</div>

@simon That’s exactly what we want! Thanks for your reply. The problem is that our site is not built with WordPress. But we can take a look at the Discourse API.

Speaking of feature requests, where can I raise this request for Discourse?

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 4, 2020, 8:01am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/8 "2020-04-04T08:01:57Z")

</div>

@Canapin So we want the blog post to receive a comment first BEFORE it is listed as a Discourse topic. The post does exist on our site in the first place, doesn’t it?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 4, 2020, 8:58am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/9 "2020-04-04T08:58:48Z")

</div>

> [@simon](#):
>
> I think that what you want is have all topics that are pulled to Discourse from your website be marked as _unlisted_ . When a topic receives a comment, it would automatically be marked as _listed_ . Unlisted topics do not appear in the topic list, so this would prevent the topic list on your site from being full of topics with no responses.

That’s a good idea. The other option is to not create the topics until the user clicks through but I think your suggestion might be easier. Perhaps @eviltrout could consider this as a possible task for this release, next week?

---

<div class="post-metadata">

### Author: ![nianiaJR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nianiajr/32/164184_2.png) [@nianiaJR](https://meta.discourse.org/u/nianiaJR)
#### Post date: [April 7, 2020, 4:29am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/10 "2020-04-07T04:29:22Z")

</div>

And how can I set the Unlisted by api，I can’t find the relative apis in my comment embedding.js. Thank you.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [April 7, 2020, 6:02pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/11 "2020-04-07T18:02:51Z")

</div>

> [@nianiaJR](#):
>
> how can I set the Unlisted by api

The easiest way to figure this out would be to try unlisting and then listing a topic through the Discourse user interface while following the steps outlined in this guide: [How to reverse engineer the Discourse API](https://meta.discourse.org/t/how-to-reverse-engineer-the-discourse-api/20576).

To automate the process via the API, you would need to setup a webhook to listen for post events. When you receive a webhook telling you that the first post in your embed category has been created, you would then send an API request to unlist the topic. When you receive a webhook telling you that the second post in a topic has been created, you would then send an API request to list the topic.

As was mentioned above, a better approach might be to have the topic automatically unlisted the first time a user clicks through to the topic from a blog site. That way the first user to leave a comment would not see the topic marked as unlisted. That would be somewhat more complex to setup, but it could be done through the API by listening for click events on links to your Discourse topics.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [April 7, 2020, 6:11pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/12 "2020-04-07T18:11:49Z")

</div>

> [@simon](#):
>
> I think that what you want is have all topics that are pulled to Discourse from your website be marked as _unlisted_ . When a topic receives a comment, it would automatically be marked as _listed_ . Unlisted topics do not appear in the topic list, so this would prevent the topic list on your site from being full of topics with no responses.

> [@codinghorror](#):
>
> That’s a good idea. The other option is to not create the topics until the user clicks through but I think your suggestion might be easier. Perhaps @eviltrout could consider this as a possible task for this release, next week?

This has been asked for **years** on the [Embed Discourse comments on another website via Javascript](https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963) topic.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 7, 2020, 8:50pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/13 "2020-04-07T20:50:46Z")

</div>

Yeah I think we should do this @eviltrout. At least the easier (default unlisted, once a reply arrives it is listed?) form maybe?

---

<div class="post-metadata">

### Author: ![nianiaJR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nianiajr/32/164184_2.png) [@nianiaJR](https://meta.discourse.org/u/nianiaJR)
#### Post date: [April 8, 2020, 5:48am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/14 "2020-04-08T05:48:37Z")

</div>

Ok, thanks for your help.

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 8, 2020, 5:55am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/15 "2020-04-08T05:55:33Z")

</div>

Looking forward to this new feature. Sound like a much-needed one. So how can I keep myself informed when it’s available?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [April 8, 2020, 4:44pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/17 "2020-04-08T16:44:55Z")

</div>

> [@Jamie\_Liu1](#):
>
> So how can I keep myself informed when it’s available?

Ideally, this topic will get updated when the feature becomes available. In that case, you will get a notification about it if you set your notification level for this topic to Watching.

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [April 8, 2020, 5:41pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/18 "2020-04-08T17:41:19Z")

</div>

Okay I’ve got a PR ready for this feature:

[https://github.com/discourse/discourse/pull/9391](https://github.com/discourse/discourse/pull/9391)

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 9, 2020, 8:45am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/19 "2020-04-09T08:45:22Z")

</div>

Good to know! Thanks!

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 9, 2020, 8:46am UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/20 "2020-04-09T08:46:56Z")

</div>

Wow that’s really impressive! So fast.

---

<div class="post-metadata">

### Author: ![Jamie\_Liu1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie_liu1/32/139694_2.png) [@Jamie\_Liu1](https://meta.discourse.org/u/Jamie_Liu1)
#### Post date: [April 15, 2020, 1:48pm UTC](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678/21 "2020-04-15T13:48:31Z")

</div>

I just saw this feature live! Shout out to @codinghorror and @eviltrout. Thanks for being so responsive to users’ request.

[Next page](https://meta.discourse.org/t/not-generate-topic-automatically-for-all-blog-posts/146678.md?page=2)
