Увеличение цикла foreach и отображение только одного ребенка - PullRequest
0 голосов
/ 22 сентября 2011

Я создаю собственную карту Google, которая наносит несколько маркеров.

Просматривайте ссылку, чтобы было легче объяснить, что происходит и чего я хочу

Если вы нажмете на каждый маркер, он покажет названия компаний, которые были захвачены с дочерних страниц. На данный момент он показывает ВСЕ названия компаний на каждом маркере. Как я могу показать только одно название компании на маркер? Т.е. один говорит «MediWales», а другой - «Teamworks Design & Marketing» и так далее, когда я добавляю больше компаний.

Вот код, контролирующий маленькое всплывающее окно:

<?php $pages = get_pages(array('child_of' => 1873, 'sort_column' => 'menu_order')); 
$counter = 1;
foreach($pages as $post) 
{
setup_postdata($post); 
$fields = get_fields(); ?> 
<p><?php $counter++; echo $fields->company_name;?></p>
<?php } wp_reset_query(); ?>

Как только он проходит один раз, в следующий раз, когда он проходит, мне нужно, чтобы он запускался на следующем дочернем элементе, а не показывал первого.

UPDATE: Кажется, что это очень близко, показывает одну компанию, но одну и ту же на обоих маркерах.

<?php 
$counter = 1; 
$pages = get_pages(array('child_of' => 1873, 'sort_column' => 'menu_order', 'offset' => $counter, 'number' => 1)); 
foreach($pages as $post) { 
setup_postdata($post); 
$fields = get_fields(); ?> 
<p><?php echo $fields->company_name; echo $counter; ?></p>
<?php $counter++; } 
wp_reset_query(); ?>

1 Ответ

0 голосов
/ 22 сентября 2011

Ваша проблема в том, что PHP по своей природе предварительно обработан. JavaScript не запускает этот PHP каждый раз, когда вы нажимаете этот маркер.

Лучше всего вывести объект JSON из PHP, содержащий все маркеры и их атрибуты, а затем проанализировать его динамически с помощью JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...