2012-04-04 55 views
-4

在Wordpress中使用自定义字段时,你会如何回显使用foreach的第一个值?如何在PHP中用'foreach'阻止多个值的回显?

目前的代码是:

<?php for(get_field('venue_event') as $post_object): ?> 
     <a href="<?php echo get_permalink($post_object); ?>"><?php echo get_the_title($post_object) ?></a> 
    <?php endforeach; ?> 

这需要现场从WordPress页面(场是到另一个页面的链接),使用get_permalink创建一个链接到该页面,但是当我想呼应页面标题它做到了,但它也回应了所有其他不需要的值。

回答

2

如果你只是想在执行循环的第一次迭代,试试这个:

<?php foreach(get_field('venue_event') as $post_object): ?> 
    <a href="<?php echo get_permalink($post_object); ?>"><?php echo get_the_title($post_object) ?></a> 
<?php break; ?> 
<?php endforeach; ?> 
+0

中断工作,现在一切正常,但在第一行中保留每一个,所以使'foreach'代替'for',它一切正常! – 2012-04-04 18:27:32

+0

已更新。我想知道如何/如何为你工作。如果它帮助你,请“接受”这个答案。 – Cal 2012-04-04 23:23:30

0

你可以添加

$counter = 0; 
<?php for(get_field('venue_event') as $post_object): ?> 
    $counter++; 
    if($counter == 1) 
    { 
    <a href="<?php echo get_permalink($post_object); ?>"><?php echo get_the_title($post_object) ?></a> 
    } 

<?php endforeach; ?> 
+0

'if($ counter = 1)'每次都会执行 – nathanjosiah 2012-04-04 18:26:05

+0

编辑,对于那个错字感到抱歉。 – magicianiam 2012-04-04 18:28:47

0

岂不是那么容易只使用第一返回数组的元素?也许WordPress的其他过滤器只返回页面的标题。