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 个赞

我再次想到了这个请求,结果发现现在无需插件,通过使用主题组件即可轻松实现。

在主题上方放置广告,并在每 3 篇帖子后放置广告的代码如下:

<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 提供的托管服务!
  </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) { // 每 3 篇帖子后
            return helper.rawHtml(`
<div style="margin-bottom:10px">
  <a href="http://www.discourse.org/buy">
    专为您的 Discourse 提供的托管服务!
  </a>
</div>
            `);
        }
    });
</script>
14 个赞

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

Did you enable the theme? Or preview it?

1 个赞

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 个赞

天哪,我这边是 Communiteq(原 DiscourseHosting)的同事——对于这两个建议,我完全不知道该如何推进。我会联系他们。谢谢!

他们运行的是 Discourse 的稳定版本。

只需尝试修改脚本中的这一行:

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

改为

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

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 个赞

House 广告现已集成至官方广告插件中。

官方广告插件中的 House 广告