Control which comments are embedded?

Hi there!

Is there a possibilty to control which(!) Comments are displayed on an embedding Website?

If Discussion goes wild, i don’t want to display every (of eventually hunderds) comment under the underlying Webpost.

Any possibilty to achieve this?

Thanks in Advance!

There is no way to choose specifically which comments are shown when embedding. However there is a site setting embed post limit which limits how many will be attached to any given post. The default is 100.


Thanks for your response!

Perhaps i’ll build my own embed-Code, that gets the most “interesting” reactions.

That’s what the wp-discourse Wordpress plugin does, if you need an idea for which metrics to use…

HI @riking,

but the wp-discourcse-Plugin does not load the Comments client-side, but generates the HTML on the Wordpress-Page, right?

I like the client-side-generation-approach, because it makes caching so much more efficient.

I’ll have a look at it!


Client-side caching in browser isn’t more edficient than server-side caching. For instance, when cache is used server-side, you deliver the HTML generated immediately. If caching client-side in browser, you’ll have tonread the cache and update your HTML, so it may not look instant to the user.

Hi @meglio,

thanks for your input, but i doubt you can say that…

We are working with varnish-Caching in Front of the Website and I guarantee, that it makes sense in this kind of setup.

Client-Side-Handling of personalized Content is standard, if you work with caching-proxys…

Have a good Day!

May you elaborate, please: which data and where cached exactly.

We got several Caching-Layers(Varnish, a self-written REDIS-Caching-Plugin for Wordpress and more) in this project. I think it’s not ontopic to explain the whole setup here.

The point is, that in some setup, it can make a real caching-advantage, if the cached data is not altered after every new comment. And that’s what i want to accomplish amongst others.

I had a look into the discourse-code at the weekend and tend to write my own implementation of what i need in the next weeks.

Thanks for your help!

Still not clear, where would you like the comments to be cached? In browser?

I just want to cache the HTML of a Page independent from the Comments, so i dont have to invalidate Cache-Objects in Varnish for every new comment incoming.

I’m confused, sorry. When you embed Discourse comments via JS, your comments are generated client-side, AFTER the page is loaded into the user’s browser. So you’re free to cache whatever HTML your page is: it will include the JS-comments embed code, but not the comments themselves.

I haven’t learned much about the native Discourse comments embedding via JS, but that’s how js-embedding works. Unless I misunderstood your goals.

Hi @meglio,

we discussed here two possible implementations:

native discourcse-js-embed-solution: lacks a possibility to control what posts are displayed in situations where hundreds of posts are posted in a thread. you can control the number of posts, but nothing like "display only the most-liked-posts, if there are more then 30 posts in the thread. But it is client-side in the way i need it - right!

wp-discourcse-plugin: The Discourse-Plugin for Wordpress implements the Discourcse-Posts as Comments in the Wordpress-Comment-Database. The Comments are implemented (as HTML) into the corresponding HTML-Document and are not integrated Client-Side.

That makes it clear?

Yes, thanks. So what you’re saying is that you’d like to have some caching of the comments HTML server-side in the Discourse’s WordPress plugin, so that the whole page HTML does not need to re-render with every load?

What we did for BBS probably should carry over as an option.

On BBS we display comments that were liked by staff members. I think that is a very good option to add here.

@carstenwawer perhaps do a PR for this?


Hi @sam, @carstenwawer,
Did this get implemented? If yes, can you please point me to where I should be setting it?