2016-10-10 109 views
0

我正在重做我的個人網站,並希望爲wordpress最近的帖子添加一個部分。這樣,我可以在我的主索引頁上有3個帖子,我可以使用手機進行更新,而無需編寫新內容。我安裝了WordPress插件WP REST API。我甚至使用domainname/wp-json/wp/v2/posts /來檢查它,它顯示了我創建的四個測試帖子。使用WP REST API WordPress插件添加帖子到我的PHP頁面

我真的不知道任何有關JSON API的知識,但我正在嘗試將最近的帖子獲取到我的精選帖子部分。我一直在清理網絡,希望得到一個能夠幫助我的教程,但是我的網頁上沒有任何內容真正顯示這篇文章。任何人有任何建議?

回答

0

下面是一般的指針,根據你的問題:

首先,你需要從example.com/wp-json/wp/v2/posts/得到WP職位。爲此,您需要執行curl GET請求。

看看this tutorial,在您的PHP頁面發出請求時,用您的站點替換示例域。

結果將是一個JSON對象。現在,對結果做一個json_decode(),你應該有一個數組或對象。您可以通過遍歷它來顯示結果。

下面是顯示所有的頭條新聞的例子:

<section id="blog"> 
     <div class="container-fluid"> 
      <div class="row"> 
       FEATURED POSTS 
       <?php 
        // Get cURL resource 
        $curl = curl_init(); 
        // Set some options - we are passing in a useragent too here 
        curl_setopt_array($curl, array(
         CURLOPT_RETURNTRANSFER => 1, 
         CURLOPT_URL => 'http://www.bmcsquincy.com/featured_posts/wp-json/wp/v2/posts/', 
         CURLOPT_USERAGENT => 'Codular Sample cURL Request', 
        )); 
        // Send the request & save response to $resp 
        $resp = curl_exec($curl); 
        // Close request to clear up some resources 
        curl_close($curl); 

        $resp=json_decode($resp, TRUE); 
        //var_dump($resp); 

        foreach($resp as $post) { 
         echo '<h2>' . $post['title']['rendered'] . '</h2><br />'; 
        } 
       ?> 
      </div><!--END ROW--> 
     </div><!--END CONTAINER FLUID--> 
</section><!--END SECTION BLOG--> 
+0

好吧,我試圖建立一個捲曲。我無法展示任何東西。我在上面的新答案中顯示了我的代碼 –

+0

@ Digital_Jedi_3從選項數組中刪除'CURLOPT_POST'和'CURLOPT_POSTFIELDS'。您正在發出POST請求,您應該發出GET請求。我用演示代碼更新了這個問題。 –

+0

Sharama - 太棒了!謝謝,我想我會在閱讀完這篇文章後,詳細瞭解這些驚人的功能!幾個問題,我有...標題現在顯示,但我不能讓它鏈接到博客。我試過 - echo''.$post->title->rendered.'';它不起作用。我還想知道是否可以展示約50個字左右的博客內容,並有精選圖片?這樣做幾乎就是我正在尋找的!再次感謝您的迴應以及您給予的所有幫助! –

0

我用http://www.bmcsquincy.com/featured_posts/wp-json/wp/v2/posts/,這是我怎麼知道的部分工作。

的PHP我用

<section id="blog"> 
     <div class="container-fluid"> 
      <div class="row"> 
       FEATURED POSTS 
       <?php 
// Get cURL resource 
$curl = curl_init(); 
// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => 'http://www.bmcsquincy.com/featured_posts/wp-json/wp/v2/posts/', 
    CURLOPT_USERAGENT => 'Codular Sample cURL Request', 
    CURLOPT_POST => 1, 
    CURLOPT_POSTFIELDS => array(
     item1 => 'value', 
     item2 => 'value2' 
    ) 
)); 
// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 
?> 
      </div><!--END ROW--> 
     </div><!--END CONTAINER FLUID--> 
</section><!--END SECTION BLOG--> 
相關問題