Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Wordpress:预加载下一个帖子图像_Jquery_Wordpress_Preload - Fatal编程技术网

Jquery Wordpress:预加载下一个帖子图像

Jquery Wordpress:预加载下一个帖子图像,jquery,wordpress,preload,Jquery,Wordpress,Preload,正如标题所说,我想在我的函数中加入一些不错的编码,这些函数可以预加载任何附加到下一篇文章的图像 这意味着,当我的用户浏览时,他们会加载页面,但实际上它会加载下一个页面,所以当你点击时,图像应该已经在那里等待了 可以将其视为图像的“缓冲” 有人对此有什么想法吗 干杯 所以您的访问者位于single.php生成的页面上。你需要把你的js放进去。您需要在循环中执行此操作,因为只有在循环中才能使用post id。 只有一个问题,你的下一篇文章是什么?在当前之前或之后发布的帖子?若访问者正在后退,你们需要

正如标题所说,我想在我的函数中加入一些不错的编码,这些函数可以预加载任何附加到下一篇文章的图像

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

可以将其视为图像的“缓冲”

有人对此有什么想法吗


干杯

所以您的访问者位于single.php生成的页面上。你需要把你的js放进去。您需要在循环中执行此操作,因为只有在循环中才能使用post id。 只有一个问题,你的下一篇文章是什么?在当前之前或之后发布的帖子?若访问者正在后退,你们需要在当前之前加载帖子中的图片。 无论如何,您可以这样做(假设您已经加载了jquery)

注意:您必须将其放入循环中

removed old code
get_nexting_post()的文档是,您可以将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>

$(文档).ready(函数(){
var图像=“”;
图像+='guid?>“style=“display:none”/>”;
如果(图像!=''){
$('body')。追加(图像);
}
});

也许值得一看Wordpress的特定帮助(尽管这里的人也能提供帮助,但这并不代表投票结束)。没有意识到有一个特定的区域!下次我一定会-谢谢!哇-@Ivan Ivanic,看起来非常合适!只是它不太起作用…正在预加载的图像将返回到哪里?似乎唯一返回的部分是:jQuery(document).ready(function(){var images='';if(images!=''){$(body.append(images);});如果下一篇文章中没有图片,它会返回。另外,图片必须以wp的方式添加,添加了标签的图片将不起作用。wp db中必须有后附加关系。它不是防弹的。这是基本设置,您需要一些调试来查看失败的地方。我添加了一些调试作为回答。我明白了。我想任何设置为“特色图像”的法师会自动附加?我使用此调用来获取特色图像;
这不是WP方式吗?我在代码中有一些拼写错误:/I编写了$attachent->post\u mime\u type;尝试新代码应该可以工作。我这次测试了;)代码有点难看如果有错误,最好的方法是不打印任何东西e在下一篇文章中没有图像,但我把重构留给你来消遣:)我认为它对post_缩略图不起作用,因为它在wp_Posteta表中定义为_thumbnail_id,附件定义为_wp_attached_file。如果你想预加载post_缩略图,你可以很容易地修改代码来完成。干杯。