当我单身的时候。php页面中,我显示了第一个图像附件。然后,我想加载下一个(和上一个)图像附件,而无需重新加载页面。
所以在单曲中。php我从这里开始检索带有图像html的数组:
<?php $args = array(\'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'order\'=> \'ASC\', \'numberposts\' => -1, \'post_status\' => null, \'post_parent\' => $post->ID );
$attachments = get_posts($args);
if ($attachments) {
foreach ( $attachments as $attachment ) {
$my_image = wp_get_attachment_image($attachment->ID, large) );
$attachments_list[] = $my_image;
}
}
reset($attachments_list);
$first_image = current($attachments_list);
echo $first_image;
?>
然后在脚本中。js文件我想获取我的php数组$attachments\\u列表的值,以便执行以下操作:
$(document).ready(function(){
var count = attachments_list.lenght();
var init = 0;
var current = init;
if (count > 1) {
$(\'#next-img\').click(function() {
if (current+1 < count) {
current++
} else if (current+1 === count) {
current = init;
}
$(\'#image-container\').html(attachments_list[current]);
});
$(\'#previous-img\').click(function() {
if (current > init) {
current--
} else if (current === init) {
current = count-1;
}
$(\'#image-container\').html(attachments_list[current]);
});
}
});
如何在脚本中检索php$attachments\\u list数组到attachments\\u list的值。js文件?可能是Json?
感谢您的关注
SO网友:rogaroga
@米洛,谢谢!我用过a technique 在您发送的页面上找到。
它几乎起作用了。
我在前一首单曲的结尾添加了这个。php代码:
array_unshift($attachments_list,"");
wp_enqueue_script(\'myscript\');
wp_localize_script(\'myscript\', \'attachments_list\', $attachments_list);
要工作,必须在wp\\u head()之前调用此代码。然后,出于一个神秘的原因,第一个元素(索引为0)被打印在html头部的JS数组之后。这就是为什么在使用wp\\u localize\\u脚本发送之前,我必须取消移动数组中的空字符串。
最后一件事:
var count = attachments_list.length;
未定义。当我用一个数字替换count时,一切正常,我甚至可以使用attachments\\u list[索引]访问数组的元素,但数组的长度没有定义。
有什么想法吗?非常感谢。