增加foreach循环并仅显示一个孩子

时间:2011-09-22 14:22:45

标签: php wordpress foreach

我正在创建一个自定义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(); ?>

一旦它循环一次,下次循环时我需要它从下一个孩子开始而不显示第一个孩子。

更新: 它似乎非常接近,它显示了一家公司,但在两个标记上都是相同的。

<?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 :(得分:0)

您的问题是PHP本质上是预处理的。每次点击该标记时,JavaScript都不会运行PHP

最好的办法是从JSON输出包含所有标记及其属性的PHP对象,然后使用JavaScript动态解析。