Я создал массив URL-адресов изображений на странице шаблона Wordpress следующим образом:
<?php $attachments = get_posts(array(
'order' => 'ASC',
'post_type' => 'attachment',
'post_parent' => $post->ID,
'post_mime_type' => 'image',
'post_status' => null,
'numberposts' => -1,
));
if ($attachments) {
//set up array of urls
$image_urls = array();
foreach($attachments as $attachment){
$image_object = wp_get_attachment_image_src($attachment->ID,'full');
$image_urls[] = $image_object[0];
}
} ?>
Затем в footer.php
я бы хотел напечатать массив для Javascript следующим образом:
<script>
var images = [<?php $num_urls = count($image_urls);
$num = 1;
foreach($image_urls as $image_url) {
echo $image_url;
$num++;
if($num<$num_urls) echo ', ';
} ?>];
</script>
Я ошибочно предположил, что при объединении страницы шаблона и footer.php
PHP будет рассматривать скрипт как непрерывный и запоминать значение переменной, но это не так, поскольку он возвращает:
Предупреждение: неверный аргумент указан для foreach ()
Как мне объявить этот массив $image_urls
, чтобы я мог ссылаться на него позже, без опасности определения пространства / пространства имен?
PS Есть ли лучший способ добавить запятую в конце концов, кроме последнего элемента в последнем фрагменте кода?