【问题标题】:Limiting Results from an Array of values限制值数组的结果
【发布时间】:2012-07-09 20:40:16
【问题描述】:

我在 Wordpress 中使用高级自定义字段。在不详细介绍它的工作原理的情况下,我有一个“中继器字段”,它允许用户根据需要向后端区域添加尽可能多的图像。为了显示这些图像,我使用以下代码(在 wordpress 循环中)

<?php if(get_field('slider_images')): ?>
<?php while(the_repeater_field('slider_images')): ?>
     <?php 
     $attachment_id = get_sub_field('work_slider_image'); 
     $size = "homepage";  
     $image = wp_get_attachment_image_src( $attachment_id, $size ); 
     echo $image[0]; 
     ?>
<?php endwhile; endif; ?>

这里的目标是创建一个图像 URL 数组并只显示第一个。在其他页面上它们都将被使用,但在这个页面上,我只想抓取第一张图片,因此echo $image[0];

由于某种原因,它显示了所有上传的图像,当我打印变量 $image 时,它​​返回:

Array ( [0] => http://sitename.com/agsinfo/wp-content/uploads/2012/07/1.jpg [1] => 392 [2] => 165 [3] => )

看到这个之后,我觉得echo $image[0]; 会起作用,但由于某种原因它不起作用。有什么想法吗?

【问题讨论】:

标签: php arrays wordpress custom-fields


【解决方案1】:
    <?php if(get_field('slider_images')): ?>
<?php while(the_repeater_field('slider_images')): ?>
     <?php 
     $attachment_id = get_sub_field('work_slider_image'); 
     $size = "homepage";  
     $image[] = wp_get_attachment_image_src( $attachment_id, $size ); 

     ?>
<?php endwhile;
 echo $image[0];
 endif;  ?>

【讨论】:

  • 这吐出一个数组,我需要它吐出第一张图片的URL
  • 哦,[0][0] 会做到的,我只是指出你一直在用最后一个循环覆盖你的数组
  • 这是为每个项目重复相同的图像...不管该图像是否在项目中。看起来每次 wordpress 循环一个项目时它都使用相同的数组
  • 我会说,它正在为它循环通过的第一个项目显示正确的图像,然后之后的每个人都显示完全相同的图像......
  • 我对这段代码有点困惑,但是如果这段代码之外还有另一个循环,你应该在开始新循环之前重新初始化数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多