Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用WP REST API WordPress插件向我的PHP页面添加帖子_Php_Json_Wordpress_Api - Fatal编程技术网

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

使用WP REST API WordPress插件向我的PHP页面添加帖子,php,json,wordpress,api,Php,Json,Wordpress,Api,我正在重做我的个人网站,想为wordpress最近的帖子添加一个部分。这样,我可以在我的主索引页上有3篇帖子,我可以用手机更新,而不必编写新的东西。我安装了WordPress插件WPRESTAPI。我甚至使用domainname/wp-json/wp/v2/posts/检查了它,它显示了我创建的四个测试帖子 我对JSON API一无所知,但我最难把最近的文章放到我的特色文章部分。我一直在浏览互联网,希望有一个教程能对我有所帮助,但我的网页上并没有真正显示这篇文章。有人有什么建议吗?以下是根据您的

我正在重做我的个人网站,想为wordpress最近的帖子添加一个部分。这样,我可以在我的主索引页上有3篇帖子,我可以用手机更新,而不必编写新的东西。我安装了WordPress插件WPRESTAPI。我甚至使用domainname/wp-json/wp/v2/posts/检查了它,它显示了我创建的四个测试帖子


我对JSON API一无所知,但我最难把最近的文章放到我的特色文章部分。我一直在浏览互联网,希望有一个教程能对我有所帮助,但我的网页上并没有真正显示这篇文章。有人有什么建议吗?

以下是根据您的问题提出的一般建议:

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

看看,当在PHP页面中发出请求时,用站点替换示例域

结果将是一个JSON对象。现在,对结果执行
json\u 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-->

特色帖子

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

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

看看,当在PHP页面中发出请求时,用站点替换示例域

结果将是一个JSON对象。现在,对结果执行
json\u 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-->

特色帖子
我使用过,这就是我知道该部件工作的原因

对于我使用的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-->

特色帖子
我使用过,这就是我知道该部件工作的原因

对于我使用的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-->

特色帖子

好的,我试着做了个卷发。我不能让它显示任何东西。我在新的答案中显示了我的代码above@Digital_Jedi_3从选项数组中删除
CURLOPT_POST
CURLOPT_POSTFIELDS
。您正在发出POST请求,您应该发出GET请求。我已经用演示代码更新了这个问题。Sharama-太棒了!谢谢,我想我会在完成后阅读这篇文章,以了解更多关于这些惊人功能的信息!我有几个问题。。。标题现在正在显示,但我无法将其链接到博客。我试过-echo“”;但它不起作用。另外,我想知道我是否可以展示大约50个字左右的博客内容,并有一个特色形象?这样做几乎正是我要找的!再次感谢您的回复和所有帮助!当您尝试链接到博客时,上面的第97行是否说
$resp=json\u decode($resp)
$resp=json_decode($resp,true)?如果它像第一个一样,那么它应该会起作用。否则,你需要写
$post['link']
$post['title']['rendered']
。这里有一些关于博客标题的粗略代码,描述:特色媒体有点复杂,你必须抓取
$post['u links']['wp:featureedmedia']['href']
并向这个URL发出一个curl请求,然后阅读
['source URL']
根据这个回答。好的,我试着设置一个卷发。我不能让它显示任何东西。我在新的答案中显示了我的代码above@Digital_Jedi_3从选项数组中删除
CURLOPT_POST
CURLOPT_POSTFIELDS
。您正在发出POST请求,您应该发出GET请求。我已经用演示代码更新了这个问题。Sharama-太棒了!谢谢,我想我会在完成后阅读这篇文章,以了解更多关于这些惊人功能的信息!我有几个问题。。。标题现在正在显示,但我无法将其链接到博客。我试过-echo“”;但它不起作用。另外,我想知道我是否可以展示大约50个字左右的博客内容,并有一个特色形象?这样做几乎正是我要找的!再次感谢您的回复和所有帮助!当您尝试链接到博客时,上面的第97行是否说
$resp=json\u decode($resp)
$resp=json_decode($resp,true)?如果它像第一个一样,那么它应该会起作用。否则,你需要写
$post['link']
$post['title']['rendered']
。这里有一些关于博客标题的粗略代码,描述:特色媒体有点复杂,你必须抓取
$post['u links']['wp:featureedmedia']['href']
并向这个URL发出一个curl请求,然后阅读
['source URL']
来自此响应。