Карты Google в WordPress

Я имею дело с вопросом, что я хотел бы иметь некоторые предложения о том, как его решить. У меня есть собственный веб-сайт, управляемый WordPress, где я реализовал карту Google для отображения на странице. На этой карте я публикую сообщения на основе терминов из пользовательского типа сообщения. Листинг сам по себе хорошо работает, отображая один маркер для каждого сообщения. Однако, когда я пытаюсь отобразить другой маркер для каждого типа термина, список становится неисправным. Проблема заключается в том, что сообщения с начальным термином перечислены с контентом, но сообщения с дополнительным термином показывают пробел.

Где в коде я все испортил? См. Следующий код:

Шаблон страницы:

<?php if ( $loop->have_posts() ) : ?> <!--<div style="display: none;">--> <?php $i = 1; ?> <?php $b = 1; ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php $terms = get_the_terms($loop->ID, 'observationcat'); ?> <?php foreach( $terms as $term ) {?> <?php if ((get_post_meta($loop->ID, '_location', true) !== '') && (($term->term_id) == 112)) : ?> <div id="itemFundet<?php echo $i; ?>"> <a href="<?php the_permalink(); ?>"><strong><?php the_title(); ?></strong></a> <?php echo'<p>Kategori ID: ' . $term->term_id . '</p>'; ?> <?php echo'<p>Kategori: ' . $term->name . '</p>'; ?> <?php the_excerpt(); ?> <?php echo '<p>Tabt udstyr nummer: ' . $i . '</p>'; ?> <?php echo get_post_meta($post->ID, '_location', true) ?> </div> <?php $i++; ?> <?php elseif ((get_post_meta($loop->ID, '_location', true) !== '') && (($term->term_id) == 113)) : ?> <div id="itemTabt<?php echo $b; ?>"> <a href="<?php the_permalink(); ?>"><strong><?php the_title(); ?></strong></a> <?php echo'<p>Kategori ID: ' . $term->term_id . '</p>'; ?> <?php echo'<p>Kategori: ' . $term->name . '</p>'; ?> <?php the_excerpt(); ?> <?php echo '<p>Fundet udstyr nummer: ' . $b . '</p>'; ?> <?php echo get_post_meta($post->ID, '_location', true) ?> </div> <?php $b++; ?> <?php endif; ?> <?php } ?> <?php endwhile; ?> 

Шаблон страницы – javascript:

'

  var locationsTabt = [ <?php $b = 1; ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php foreach( $terms as $term ) { ?> <?php if ((get_post_meta($loop->ID, '_location', true) !== '') && (($term->term_id) == 113)) : ?> { latlng:new google.maps.LatLng(<?php echo get_post_meta($post->ID, '_location', true) ?>), info : document.getElementById('itemTabt<?php echo $b; ?>') }, <?php endif; ?> <?php } ?> <?php $b++; ?> <?php endwhile; ?> ]; var locationsFundet = [ <?php $i = 1; ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php foreach( $terms as $term ) { ?> <?php if ((get_post_meta($loop->ID, '_location', true) !== '') && (($term->term_id) == 112)) : ?> { latlng:new google.maps.LatLng(<?php echo get_post_meta($post->ID, '_location', true) ?>), info : document.getElementById('itemFundet<?php echo $i; ?>') }, <?php endif; ?> <?php } ?> <?php $i++; ?> <?php endwhile; ?> ]; </script>' 

Файл Map.js:

 var infowindow = new google.maps.InfoWindow; var fundetMarkerImg = new google.maps.MarkerImage('/wp-content/themes/underwaterhunt/img/markers/marker_spot.png', new google.maps.Size(45, 50)); var tabtMarkerImg = new google.maps.MarkerImage('/wp-content/themes/underwaterhunt/img/markers/marker_sigt.png', new google.maps.Size(45, 50)); for (var i = 0; i < locationsFundet.length; i++) { var markerFundet = new google.maps.Marker( { position: locationsFundet[i].latlng, icon: fundetMarkerImg, animation:google.maps.Animation.DROP, map: map }); google.maps.event.addListener(markerFundet, 'click', (function(markerFundet, i) { return function() { infowindow.setContent(locationsFundet[i].info); infowindow.open(map, markerFundet); } })(markerFundet, i)); } for (var b = 0; b < locationsTabt.length; b++) { var markerTabt = new google.maps.Marker( { position: locationsTabt[b].latlng, icon: fundetMarkerImg, animation:google.maps.Animation.DROP, map: map }); google.maps.event.addListener(markerTabt, 'click', (function(markerTabt, b) { return function() { infowindow.setContent(locationsTabt[b].info); infowindow.open(map, markerTabt); } })(markerTabt, b)); } 

Насколько я могу видеть, используя Chromes DevTool, массив с именем locationsFundet не получает никаких назначенных значений.

Кто-нибудь понял, что может быть проблемой?