2017-09-26 101 views
0

我想在Facebook即時文章上顯示多個廣告。我發現這個代碼,我嘗試手動和它的工作。如何使用wordpress插件在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即時文章插件使其成爲可能。我沒有爲這些類型的廣告找到任何設置選項。

我試圖在谷歌搜索,除了這個無法找到任何東西: https://developers.facebook.com/docs/instant-articles/sdk/transformer-rules

請幫幫我!

A.如何添加多個廣告使用FB INSTANT ARTICLE PLUGIN in wordpress?

B.如何添加不同代碼使用FB即時文章PLUGIN in wordpress?

回答

0

您可以通過添加instant_articles_transformed_element過濾器來執行此操作,以便相應地修改標頭。

這通常用於放置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; 
}); 

與該代碼,插件將採取照顧其餘部分,它會自動將以下代碼添加到頭部部分:

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

它還將關閉前添加下列權利:

<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> 
+0

它顯示我在空白頁上我的網站和帖子的Facebook即時條選項的前端都只是顯示加載圖標。我看不到調試信息或其他任何東西。 –

+1

剛編輯我的答案...你需要在functions.php的頂部添加這個:使用Facebook \ InstantArticles \ Elements \ Ad; – luqita

+0

太棒了!現在它的工作。你能解釋我這個代碼嗎?請稍微:)並謝謝你! –

相關問題