提供无效参数foreach(wp instagram widget)

时间:2015-07-15 16:20:19

标签: php wordpress plugins widget instagram

我遇到了wp instagram小部件的问题。我收到的错误是

  

在第203行为foreach()提供的参数无效。

这是第203行:

if (!$insta_array)
            return new WP_Error('bad_json', __('Instagram has returned invalid data.', $this->cassiwdomain));

        $images = $insta_array['entry_data']['UserProfile'][0]['userMedia'];

        $instagram = array();

        foreach ($images as $image) {

            if ($image['user']['username'] == $username) {

                $image['link']                          = preg_replace( "/^http:/i", "", $image['link'] );
                $image['images']['thumbnail']           = preg_replace( "/^http:/i", "", $image['images']['thumbnail'] );
                $image['images']['standard_resolution'] = preg_replace( "/^http:/i", "", $image['images']['standard_resolution'] );

                $instagram[] = array(
                    'description'   => $image['caption']['text'],
                    'link'          => $image['link'],
                    'time'          => $image['created_time'],
                    'comments'      => $image['comments']['count'],
                    'likes'         => $image['likes']['count'],
                    'thumbnail'     => $image['images']['thumbnail'],
                    'large'         => $image['images']['standard_resolution'],
                    'type'          => $image['type']
                );
            }
        }

1 个答案:

答案 0 :(得分:0)

问题在于解析后的json在路径$ insta_array [' entry_data'] [' UserProfile'] [0] [&#39]中不包含数组; userMedia'];

在行

之前没有检查
foreach ($images as $image) {

您可以通过将foreach语句包装在诸如

之类的检查中来修复错误
if (is_array($images)){
    //Existing foreach loop
}

但你仍然看不到来自Instagram的图片

可能是因为Instagram帐户没有任何图片。

您能否确认该帐户确实有图片?

如果您可以发布

的输出,也会有所帮助
var_dump($insta_array);
exit;

您可以在行

上方添加该代码
if (!$insta_array)