Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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
Php 需要帮助从JSON创建带有wp_insert_post的帖子吗_Php_Json_Wordpress - Fatal编程技术网

Php 需要帮助从JSON创建带有wp_insert_post的帖子吗

Php 需要帮助从JSON创建带有wp_insert_post的帖子吗,php,json,wordpress,Php,Json,Wordpress,我正在尝试使用wp_insert_post将JSON插入wordpress。我撞到了砖墙。下面可以看到我的代码和一些json PHP: 错误:运行此代码时,我收到以下“警告:第6行的/Users/andrew/Desktop/newtest.php中为foreach()提供的参数无效” 添加foreach((数组)$obj作为$article\u数组){…} 在if(is_object($obj)){…}语句中包装整个foreach循环时也没有错误 任何帮助或建议都将不胜感激。提前谢谢 由于JS

我正在尝试使用wp_insert_post将JSON插入wordpress。我撞到了砖墙。下面可以看到我的代码和一些json

PHP:

错误:运行此代码时,我收到以下“警告:第6行的/Users/andrew/Desktop/newtest.php中为
foreach()提供的参数无效”

添加
foreach((数组)$obj作为$article\u数组){…}

if(is_object($obj)){…}
语句中包装整个foreach循环时也没有错误


任何帮助或建议都将不胜感激。提前谢谢

由于JSON对象的结构是
{“post”:[{},{},…]}
,使用JSON_解码,结果将是
$obj['post'][Array,Array,…]
。因此,在
foreach
循环中,必须迭代
$obj['post']
数组,而不是
$obj

因此,foreach必须是:

...
foreach($obj['post'] as $article_array){
...

文件\u get\u contents()
是否实际返回了有效的json?正如json中所示,obj中缺少一级“post”。因此,如果您只需执行$obj=json_decode($json,true)['post'],它应该可以工作;将[post]添加到$obj&&foreach后,我们现在返回到原始警告响应:警告:为foreach()提供的参数无效,位于第6行的/Users/andrew/Desktop/newtest.php中。将[post]添加到$obj&&foreach后,我们现在返回到原始警告响应:为foreach()提供的参数无效在第6wait行的/Users/andrew/Desktop/newtest.php中,您的意思是您在两个位置都添加了
['post']
?一次是在foreach,一次是在json_解码,就像上面评论中提到的那样?您应该只在其中一个位置添加它。请使用其中一种方法,而不是同时使用两种方法:)@nikos.svnk请解释为什么这可以解决问题。@Jack A.-您在这里:)
{
    "post":[
        {
            "title":"Choir to College to Commercial",
            "wp_post_title":"Choir to College to Commercial",
            "wp_post_content":"My entry into the world of music..."
        },
        {
            "title":"How to Master Vocal Technique",
            "wp_post_title":"How to Master Vocal Technique",
            "wp_post_content":"Acquiring command over vocal technique is like ..."
        },
        {
            "title":"How Do You Evaluate Singers?",
            "wp_post_title":"How Do You Evaluate Singers?",
            "wp_post_content":"Many lovers of singing say that they can't put to words ..."
        }
    ]
}
...
foreach($obj['post'] as $article_array){
...