0

正如标题所说,我希望在我的函数中添加一些很好的编码,以预加载附加到下一篇文章的任何图像。

这意味着当我的用户浏览时,他们的页面会加载,但实际上它会加载下一页,所以当您点击时,图像应该已经在那里等待!

将其视为图像的“缓冲”。

有人对此有任何想法吗?

干杯!

4

1 回答 1

1

因此,您的访问者位于由 single.php 生成的页面上。你需要把你的js放在那里。您需要在循环内执行此操作,因为那只是您可以使用 post id 的地方。只有一个问题,你的下一篇文章是什么?在当前或当前之后发布的帖子?如果访问者倒退,您需要从当前发布的帖子中加载图像。无论如何,你可以做这样的事情(假设你已经加载了 jquery)。

注意:你必须把它放在循环中

removed old code

get_adjacent_post() 的文档在这里,您可以将帖子设置为同一类别,您可以排除类别。

更新:我犯了一些有趣的错别字,所以这里有很好的代码,在我安装的 wp 上进行了测试,适用于自定义帖子类型:

<?php
    $next_post = get_adjacent_post(false, '', false );// set last param to true if you want post that is chronologically previous
    //for debug
    if(!empty($next_post)){
       echo 'Next post title is: '.$next_post->post_title;
    } else {
        echo 'global $post is not set or no corresponding post exists';
    }
    $args = array('post_type' => 'attachment', 'numberposts' => -1, 'post_parent' => $next_post->ID);
    $attachments = get_posts($args);
    // print attachments for debug
    echo '<pre>';print_r($attachments);echo '</pre>';
?>
<script type="text/javascript">
    $(document).ready(function(){
        var images = '';
        <?php foreach($attachments as $attachment):
            $mime = $attachment->post_mime_type;
            if($mime == 'image/jpeg' || $mime == 'image/gif' || $mime == 'image/png'): 
        ?>
        images += '<img src="<?php echo $attachment->guid ?>" style="display:none" />';
        <? endif; endforeach; ?>
        if(images != ''){
            $('body').append(images);
        }
    });
</script>
于 2011-03-23T19:27:49.443 回答