Instagram API отображает только первый элемент в цикле foreach - PullRequest
0 голосов
/ 30 августа 2018

Нужна помощь с этим. Я создал галерею Instagram, используя API. Когда я печатаю вывод json, я получаю полный массив со всеми 12 сообщениями, но когда я отображаю содержимое в цикле foreach, я получаю только первое сообщение в отображаемом списке. Спасибо за любую помощь. прыгать это просто глупость, которую я пропустил.

Это код, который у меня есть:

<?php
    $access_token = "xxxxxxxxxxxxxxxx";
    $photo_count  = 12;

    $json_link = "https://api.instagram.com/v1/users/self/media/recent/?";
    $json_link .= "access_token={$access_token}&count={$photo_count}";

    $json = file_get_contents($json_link);
    $obj  = json_decode($json, true, 512, JSON_BIGINT_AS_STRING);
    //print_r($json);
?>
<div id="instafeed">
    <?php
        foreach($obj['data'] as $post){

            $pic_text     = $post['caption']['text'];
            $pic_link     = $post['link'];
            $pic_src      = str_replace("http://", "https://", $post['images']['low_resolution']['url']);
            $pic_time     = date('d-m-Y H:i', $post['caption']['created_time']);
            $pic_icon_src = $post['user']['profile_picture'];
            $pic_handle   = $post['user']['username'];
            ?>
            <div class="social-block">
                <a href="<?php echo $pic_link; ?>" target="_blank" title="<?php echo $pic_text; ?>">
                    <img src="<?php echo $pic_src; ?>" title="<?php echo $pic_text; ?>" width="100% " height="auto">
                    <div class="insta-acc">
                        <span class="insta-icon"><img src="<?php echo $pic_icon_src; ?>" title="Uk Pro Surf on Instagram"></span>
                        <div>
                            <span class="insta-handle">@<?php echo $pic_handle; ?></span>
                        </div>
                    </div>
                    <span class="insta-text"><p><?php echo $pic_text; ?></p></span>
                </a>
            </div>
            <?php
        }
    ?>
</div>
...