如何使用 wordpress 插件在 Facebook Instant Articles 中添加多个广告?

How to add multiple ads in Facebook Instant Articles using wordpress plugin?

我想在 Facebook 即时文章上展示多个广告。我找到了这段代码,我手动尝试了它并且它有效。

  <section class="op-ad-template">

        <!-- Ads to be automatically placed throughout the article -->

        <figure class="op-ad">
          <iframe src="https://www.mywebsite.com/ss;adtype=banner300x250&adslot=1" height="300" width="250"></iframe>
        </figure>

        <figure class="op-ad op-ad-default">
          <iframe src="https://www.mywebsite.com/ss;adtype=banner300x250&adslot=2" height="300" width="250"></iframe>
        </figure>

        <figure class="op-ad">
           <iframe src="https://www.mywebsite.com/ss;adtype=banner300x250&adslot=3" height="300" width="250"></iframe>
        </figure>

   </section>

现在我正尝试通过 Facebook Instant Article Plugin 实现它。我没有找到这些类型广告的任何设置选项。

我试图在 google 上搜索,但除此之外找不到任何内容: https://developers.facebook.com/docs/instant-articles/sdk/transformer-rules

请帮帮我!

一个。如何在 wordpress 中使用 FB INSTANT ARTICLE PLUGIN 添加多个广告?

乙。如何在 wordpress 中使用 FB INSTANT ARTICLE PLUGIN 添加不同的代码?

您可以通过添加 instant_articles_transformed_element 过滤器来执行此操作,以便相应地修改 header。

这通常在放置 Facebook Audience Network 单元时使用,但如果您的手动代码有效,则以下代码应该有效,但您可能需要尝试使用查询变量。添加到 functions.php 中:

在 functions.php 的顶部,添加:

use Facebook\InstantArticles\Elements\Ad;

然后:

/**
 * Adds multiple units to the Instant Article
 * 
 * @param Instant_Articles_Post $article
 * 
 * @return Instant_Articles_Post
 */
add_filter('instant_articles_transformed_element', function ($article) {
        // Create the base ad
        $ad = Ad::create()
                ->withWidth(300)
                ->withHeight(250)
                ->enableDefaultForReuse();

        // Retrieve the header
        $article->getHeader()
                // Add the first ad
                ->addAd(
                       $ad->withSource(
                                // This creates the URL https://www.mywebsite.com/ss;adtype=banner300x250;adslot=1
                                add_query_arg(
                                        array(
                                           'adtype' => 'banner300x250',
                                           'adSlot' => '1',
                                        ),

                                        'https://www.mywebsite.com/ss'
                                )
                        )
                )
                // Add the second ad
                ->addAd(
                        $ad->withSource(
                                // This creates the URL https://www.mywebsite.com/ss;adtype=banner300x250;adslot=2
                                add_query_arg(
                                        array(
                                           'adtype' => 'banner300x250',
                                           'adSlot' => '2',
                                        ),

                                        'https://www.mywebsite.com/ss'
                                )
                        )
                )
                // Add the third ad
                ->addAd(
                        $ad->withSource(
                                // This creates the URL https://www.mywebsite.com/ss;adtype=banner300x250;adslot=3
                                add_query_arg(
                                        array(
                                           'adtype' => 'banner300x250',
                                           'adSlot' => '3',
                                        ),

                                        'https://www.mywebsite.com/ss'
                                )
                        )
                );

        return $article;
});

使用该代码,插件会处理剩下的事情,它会自动将以下代码添加到 head 部分:

<meta property="fb:use_automatic_ad_placement" content="enable=true ad_density=default"/>

它还会在关闭header之前添加以下内容:

<section class="op-ad-template">
              <figure class="op-ad op-ad-default">
                <iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&amp;adSlot=1" width="300" height="250"></iframe>
              </figure>
              <figure class="op-ad">
                <iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&amp;adSlot=2" width="300" height="250"></iframe>
              </figure>
              <figure class="op-ad">
                <iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&amp;adSlot=3" width="300" height="250"></iframe>
              </figure>
</section>