正如标题所说,我希望在我的函数中加入一些编码,预先加载附加到下一篇文章的任何图像。
这意味着,当我的用户正在浏览时,他们的页面会加载,但它实际上会加载下一页,因此当您点击时,图片应该已经存在并等待!
将其视为图像的“缓冲”。
有人对此有任何想法吗?
干杯!
答案 0 :(得分:1)
因此,您的访问者位于由single.php生成的页面上。你需要把你的js放在那里。你需要在循环中完成它,因为这只是你要使用post id的地方。 只有一个问题,你的下一篇文章是什么?在当前或之后发布的帖子?如果访客向后退,您需要从当前发布的帖子中加载图片。 无论如何你可以做这样的事情(假设你已经加载了jquery)。
注意:你必须把它放在循环中!
removed old code
get_adjacent_post()的文档为here,您可以将帖子设置为同一类别,并且可以排除类别。
更新:我做了一些有趣的拼写错误,所以这里是好的代码,在我安装的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>