如何使用 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&adSlot=1" width="300" height="250"></iframe>
</figure>
<figure class="op-ad">
<iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&adSlot=2" width="300" height="250"></iframe>
</figure>
<figure class="op-ad">
<iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&adSlot=3" width="300" height="250"></iframe>
</figure>
</section>
我想在 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&adSlot=1" width="300" height="250"></iframe>
</figure>
<figure class="op-ad">
<iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&adSlot=2" width="300" height="250"></iframe>
</figure>
<figure class="op-ad">
<iframe src="https://www.mywebsite.com/ss?adtype=banner300x250&adSlot=3" width="300" height="250"></iframe>
</figure>
</section>