Request: House Ads Plugin

I think it would be great if Discourse had plugin similar to Pockets from Vanilla Forums.

Just like Discourse AdPlugin, you can place ads on pre-determined locations.

The interesting thing is that you can insert any html ads every 3 or 4 post for example.

The good thing with jpg banners, is that you can “trick” adblockers by using random name ( eg, large image top, etc ).

That will only work if the images are coming from the same URL / domain as the rest of the “normal” images on the site.

I believe per @neil our official ad plugin can be configured to serve house ads as well, but those would be served from Google, etc, like the other ads.

1 Like

I thought of this request again, and it turns out that it’s fairly simple to implement without a plugin now by using Theme Components.

The code for placing an ad above topics, and after every 3 posts:

<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/my-house-ads">
<div style="margin-bottom:10px;">
  <a href="http://www.discourse.org/buy">
    Discourse Hosting For YOU!
  </a>
</div>
</script>

<script type="text/discourse-plugin" version="0.8.23">
    api.decorateWidget('post:after', helper => {
        let post = helper.getModel();
        if (post.get('post_number') % 3 === 0) { // after every 3 posts
            return helper.rawHtml(`
<div style="margin-bottom:10px">
  <a href="http://www.discourse.org/buy">
    Discourse Hosting For YOU!
  </a>
</div>
            `);
        }
    });
</script>
14 Likes

I copy/pasted the code into and it didn’t do anything. Any advice?

Did you enable the theme? Or preview it?

1 Like

Thanks for the follow-up. I’m sorry for my late reply. I copy/pasted it into my current theme (with many theme components added) shown at www.sqrpgz.com, and I both previewed and enabled, but nothing. Then I created a new theme titled “house ads”, copy/pasted into the head, and enabled that theme – still didn’t work. Then, I went back to my original theme, and added the “house ads” component – still didn’t work. I may likely be doing something wrong here, and I appreciate any advice!

Wait. Maybe it’s working as intended but, I was confused on how it should work… If I click on a topic, I see the “discourse hosting for you” link on the top of the topic/post page, but I thought it would also be woven into the latest list every three posts. Am I misunderstanding?

The problem is that API v0.8.23 is not supported on Discourse 2.0.3.

You should update your Discourse site, or try to change the API version from 0.8.23 to a generic 0.8

2 Likes

Oh brother, I’m with Communiteq (formerly DiscourseHosting).net – I have no idea how to move forward with either suggestion. I’ll reach out them. Thank you!

They run the stable version of Discourse.

Try simply to change this line of the script:

<script type="text/discourse-plugin" version="0.8.23">

to

<script type="text/discourse-plugin" version="0.8">
4 Likes

That worked. Thank you!

Now, although it worked, it worked differently than I thought it would. I thought the ad post would show up every third post in the “latest” list. Rather, it places the ad every third post in a topic’s stream. Do you know of anyway to insert a house ad in the “latest” list? Just curious.

OMG, I can’t believe I missed your reply.

It sounds great! I’ll give it a try and let you know.

3 Likes

House ads are now part of the ad plugin.

House Ads in the official Ad Plugin