Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示ID而不是URL的ACF中继器_Php_Url_Foreach_Repeater_Advanced Custom Fields - Fatal编程技术网

Php 显示ID而不是URL的ACF中继器

Php 显示ID而不是URL的ACF中继器,php,url,foreach,repeater,advanced-custom-fields,Php,Url,Foreach,Repeater,Advanced Custom Fields,我正在使用高级自定义字段转发器输出图像URL。但是,它显示的是ID,而不是URL。非常感谢您的帮助,谢谢。这是我的密码: <?php $rows = get_field('images'); foreach($rows as $row){ $image = wp_get_attachment_image_src(get_sub_field('image'), 'full'); //var_dump($row['image']); echo '<img src="'. $row

我正在使用高级自定义字段转发器输出图像URL。但是,它显示的是ID,而不是URL。非常感谢您的帮助,谢谢。这是我的密码:

<?php 
$rows = get_field('images');

foreach($rows as $row){
$image = wp_get_attachment_image_src(get_sub_field('image'), 'full');

//var_dump($row['image']);
echo  '<img src="'. $row['image']['url'] . '" class="shadowed forced">';
}

?>

看起来我需要做的不是使用foreach,而是使用and if&while语句。我在呼叫中继器,而不是使用旧代码的子字段。如果有人遇到这个问题,这里有一个参考-

  <?php 
  $rows = get_field('images');

  if ($rows) 
  {
    while (has_sub_field('images')) 
    {  
      $image = wp_get_attachment_image_src(get_sub_field('image'), 'full');
      echo '<img src="'. $image[0] . '" class="shadowed forced">';
    }
  } 
  ?>

在回答您的问题时,它不起作用,因为
get_sub_字段
必须在
语句中使用,而
语句必须与
has_sub_字段()
结合使用,并且因为您的
$row['image']['url']
引用的是图像对象(通过字段菜单上的设置),while看起来像是让字段返回“附件ID”

如果要使用设置为“附件ID”的foreach,则需要使用返回的对象/数组,如下所示:

<?php 
$rows = get_field('images');

foreach($rows as $row){
$image = wp_get_attachment_image_src($row['image'], 'full');

echo  '<img src="'. $image[0] . '" class="shadowed forced">';
}

?>

如果要使用foreach方法,并将其设置为“Image Object”,它应该如下所示:

<?php 
$rows = get_field('images');

foreach($rows as $row){


echo  '<img src="'. $row['image']['url'] . '" class="shadowed forced">';
}?>
<?php $rows = get_field('images');

if ($rows) 
{
 while (has_sub_field('images')) 
{  
 $image = get_sub_field('image');
  echo '<img src="'. $image['sizes']['large'] . '" class="shadowed forced">';
}
 } ?>

另一个解决方案是,根据您的回答/建议,将字段设置为“图像URL”,然后您可以简单地调用图像,如下所示:

 <?php $rows = get_field('images');

if ($rows) 
{
 while (has_sub_field('images')) 
{  
 $image = get_sub_field('image');
  echo '<img src="'. $image . '" class="shadowed forced">';
}
 } ?>

或者,如果要显示不同大小的图像,也可以将“返回值”设置为“图像对象”,并执行以下操作:

<?php 
$rows = get_field('images');

foreach($rows as $row){


echo  '<img src="'. $row['image']['url'] . '" class="shadowed forced">';
}?>
<?php $rows = get_field('images');

if ($rows) 
{
 while (has_sub_field('images')) 
{  
 $image = get_sub_field('image');
  echo '<img src="'. $image['sizes']['large'] . '" class="shadowed forced">';
}
 } ?>


谢谢您的帮助!这么说你几乎用了我的回答吼叫?