chihung
8/30/2019 - 3:09 AM

Fetch image from instagram

<div class="container-fluid swiper-container-nonstop-slide">
        <div class="swiper-container">
            <div class="swiper-wrapper">
                <?php

                getItems( array(
                    'accessToken' => 'EAA04GiIAuZCABAMI68jwZC0jwlCZC47QKcrVQ26OlPCKT9tXEádasdasdsadadsGy9Uu2ZCpn3ZAe1JBysQfLNF3DjL9Egkq7Qerl3yGkmPn91X9Ca1ujswLkkYrWaEzG6WKxEhPJp3EyxpQ1ea6W1LaNXKy1ZAlVhxGX1KdnKThEErASXZAyQ6gUF0VIRTKP2nlh',
                    'instagramID' => '1784231242343242341448470116864',
                ) );

                ?>
            </div>
        </div>
    </div>
/*-----------------------------------------------------------------------------------*/
/*
/*-----------------------------------------------------------------------------------*/
function getItems($config) {
    $items = getCacheContents($config['instagramID'], $config['accessToken']);

    foreach ($items as $item) {
        if (isset($item->thumbnail_url) && $item->thumbnail_url) {
            $imgPath = $item->thumbnail_url;
        } else {
            $imgPath = $item->media_url;
        }
        ?>


        <div class="col-6 col-md-3">
            <a href="<?= $item->permalink; ?>" target="_blank" class="hover-img">
                <img src="<?= ($imgPath) ? $imgPath : ''; ?>" alt="" width="252" class="img-fluid d-block mx-auto" />
            </a>
        </div>
        <?php
    }
}

/*-----------------------------------------------------------------------------------*/
/*
/*-----------------------------------------------------------------------------------*/
function getCacheContents($instagramID, $accessToken, $cacheLimit = 86400) {
    $instagram_feed_data = get_transient('instagram_feed_data');
    if ($instagram_feed_data) {

        $array = json_decode($instagram_feed_data);

        return $array->media->data;
    } else {
        $url = "https://graph.facebook.com/v16.0/{$instagramID}?fields=name%2Cmedia.limit(6)%7Bcaption%2Cmedia_url%2Cthumbnail_url%2Cpermalink%7D&access_token={$accessToken}";

        // キャッシュがないか、期限切れなので取得しなおす
        $data  = file_get_contents($url);
        $array = json_decode($data);

        set_transient('instagram_feed_data', $data, $cacheLimit);

        return $array->media->data;
    }
}

// Add this if you want to Clear the cache
delete_transient('instagram_feed_data');
https://gitlab.com/yugo.asia/toal-camper-service/-/commit/0ff1af000488361e0a21f294de7ac895da5f0321