2017-05-25 40 views
1

的目標是從我們的網站上公司的網頁顯示3篇最近的文章中,我創建了信息的圖表網址:循環Facebook的圖表網址查詢信息到網站

https://graph.facebook.com/ {pagenamehere} /職位領域= full_picture,圖像,鏈接,消息&極限= 3 &的access_token = {的accessToken |祕密}

這正確地拉在一切都在下面的JSON格式:

data: 
    0: 
    full_picture: "content here" 
    picture: "content here" 
    link: "content here" 
    message: "content here" 
    id: "content here" 
    1: 
    full_picture: "content here" 
    picture: "content here" 
    link: "content here" 
    message: "content here" 
    id: "content here" 
    2: 
    full_picture: "content here" 
    picture: "content here" 
    link: "content here" 
    message: "content here" 
    id: "content here" 

試過普林用下面的代碼G它:

<?php 
query_posts('&showposts=-1&order=ASC'); 

while (have_posts()) : the_post(); 


    $json = file_get_contents('https://graph.facebook.com/{pagenamehere}/posts?fields=full_picture,picture,link,message&limit=3&access_token={accesstoken|secret}'); 
    $json_data = json_decode($json, false); 
    echo $json_data->data[0]->total_count; 
    echo '<br>'; 

endwhile; 

?> 

我需要能夠循環通過這一點,並把他們在三個不同的div在下面的格式,以自定義的CSS應用於帖子:

<div class="col-sm-4"> 
         <div class="stay-connected-inner"> 
          <div class="stay-connected-info"> 


           <div class="stay-connected-left"><i class="fa fa-facebook"></i></div> 
           <div class="stay-connected-right"> 

            <h5>Page Title</h5> 
            <p>Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur.</p> 
           </div> 
          </div> 
          <div class="stay-connected-fig"> 
           <img src="" alt=""> 
          </div> 
         </div> 
        </div> 
        <div class="col-sm-4"> 
         <div class="stay-connected-inner"> 
          <div class="stay-connected-info"> 
           <div class="stay-connected-left"><i class="fa fa-facebook"></i></div> 
           <div class="stay-connected-right"> 
            <h5>Page Title</h5> 
            <p>Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur.</p> 
           </div> 
          </div> 
          <div class="stay-connected-fig"> 
           <img src="" alt=""> 
          </div> 
         </div> 
        </div> 
        <div class="col-sm-4"> 
         <div class="stay-connected-inner"> 
          <div class="stay-connected-info"> 
           <div class="stay-connected-left"><i class="fa fa-facebook"></i></div> 
           <div class="stay-connected-right"> 
            <h5>Page Title</h5> 
            <p>Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur.</p> 
           </div> 
          </div> 
          <div class="stay-connected-fig"> 
           <img src="" alt=""> 
          </div> 
         </div> 
        </div> 

參考教程在這裏:How to embed a Facebook page's feed into my website

我的網站是WordPress的,我不熟悉asp.net。

+1

爲什麼你會在循環內多次提交相同的API請求?另外,您不應該在每次加載頁面時都這樣做,您將很快遇到速率限制。 https://developers.facebook.com/docs/graph-api/advanced/rate-limiting你需要在你的一端實現某種形式的緩存。 – CBroe

回答

0

你可以做這樣的事情:

foreach($json_data->data as $post){ 
    echo 
    '<div class="col-sm-4"> 
     <div class="stay-connected-inner"> 
      <div class="stay-connected-info"> 
       <div class="stay-connected-left"> 
        <i class="fa fa-facebook"></i> 
       </div> 
       <div class="stay-connected-right"> 
        <h5>full_picture</h5> 
        <p>' . $post['message'] . '</p> 
       </div> 
      </div> 
      <div class="stay-connected-fig"> 
       <img src="' . $post['full_picture'] . '" alt=""> 
      </div> 
     </div> 
    </div>'; 
} 

這將輸出3列,如果有數組中的3個元素。 foreach中的$ post是數組中的每個元素。