将Tumblr上的照片帖子嵌入到外部网站中

4
我正在使用Tumblr照片帖子在外部网站上制作“无限滚动”画廊,一切工作正常,但我有一个大问题。我的foreach函数在前20个结果后停止工作。无限滚动需要分页才能工作,我需要:
  1. 检索所有帖子而不仅仅是前20个
  2. 找到从第21个帖子开始计数的方法,然后在第31个帖子之后创建分页
这是我正在使用Masonry的PHP代码。
<div id="container">
    <?php
        // tag filtrante
        $tag = 'conceptual';

        $api_key = 'the key';

        // preleva e decodifica il file (prende solo i post di di tipo "photo")
        $tumblr = json_decode(file_get_contents('http://api.tumblr.com/v2/blog/nofrillsintown.tumblr.com/posts/photo?api_key=' . $api_key . '&tag=' . $tag));

        // scorre tutti i post
        foreach ($tumblr->response->posts as $post) {

                // scorre tutte le immagini contenute in un post
                foreach ($post->photos as $photo) {
                        echo '<div class="item"><a href="'.$photo->original_size->url.'" rel="lightbox"><img src="'.$photo->alt_sizes[2]->url.'" /></a></div>';
                };
        };
    ?>
    </div>
1个回答

0
使用offset参数获取第20篇文章之后的文章:https://www.tumblr.com/docs/en/api/v2#posts

$limit = 10;
$page = 1;
$url = 'http://api.tumblr.com/v2/blog/nofrillsintown.tumblr.com/posts/photo?api_key=' . $api_key. '&tag=' . $tag;
$url .= '&limit=' . $limit. '&offset=' . ($limit * ($page - 1));

由于Tumblr一次只允许获取20篇文章,因此您需要多次调用此功能。最好缓存结果,而不是在每次页面加载时都进行调用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接