使用WP REST API WordPress插件将帖子添加到我的PHP页面

时间:2016-10-10 17:31:12

标签: php json wordpress api

我正在重做我的个人网站,并希望为wordpress的最新帖子添加一个部分。这样我可以在主索引页面上有3个帖子,我可以用手机更新,而无需编写新内容。我安装了WordPress插件WP REST API。我甚至使用domainname / wp-json / wp / v2 / posts /检查了它,它显示了我创建的四个测试帖子。

我对JSON API一无所知,但我正在努力将这些最近的帖子收集到我的精选帖子部分。我一直在寻找互联网,希望有一个教程可以帮助我,但没有任何东西真正显示在我的页面上的帖子。有人有什么建议吗?

2 个答案:

答案 0 :(得分:0)

以下是基于您的问题的一般指示:

首先,您需要从example.com/wp-json/wp/v2/posts/获取WP的帖子。为此,您需要执行curl GET请求。

在PHP页面中发出请求时,请查看this tutorial,将示例域替换为您的站点。

结果将是一个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-->

答案 1 :(得分: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-->