Php 需要帮助从JSON创建带有wp_insert_post的帖子吗
我正在尝试使用wp_insert_post将JSON插入wordpress。我撞到了砖墙。下面可以看到我的代码和一些json PHP: 错误:运行此代码时,我收到以下“警告:第6行的/Users/andrew/Desktop/newtest.php中为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
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){
...