高级自定义字段中继器图片说明

Posted

技术标签:

【中文标题】高级自定义字段中继器图片说明【英文标题】:Advanced Custom Fields repeater image caption 【发布时间】:2016-02-01 04:06:15 【问题描述】:

我正在尝试为 wordpress 高级自定义字段 (ACF) 重复字段显示图像标题,但以下三个选项没有任何运气:

<?php if($middle_image['image']): ?>

  <?php $midimage = wp_get_attachment_image_src($middle_image['image']); ?>

  <?php $caption = $midimage->post_excerpt; ?>

  <?php $captiontwo = $middle_image['image']['caption'] ?>

  <?php $captionthree = $middle_image['image']->post_excerpt; ?>

  <?php $alt = get_post_meta($middle_image['image'], '_wp_attachment_image_alt', true); ?>

  <?php $main_image = wp_get_attachment_image_src($middle_image['image'], 'two-column-cropped' ); ?>
    <div class="two-column-cropped"><img src="<?php echo $main_image[0]; ?>"  />
       <?php if($caption)  ?>
          <div class="image_caption"><?php echo $caption; ?></div>
       <?php  ?>
    </div>

  <?php endif; ?>

任何建议将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

wp_get_attachment_src() 除了 URL、高度和宽度之外,不获取有关图像的任何数据。您可能需要wp_get_attachment_metadata(),但我认为您最好更改 ACF 字段以返回图像对象(实际上是一个数组)而不是图像 ID(我假设您现在拥有它)。

ACF 可以为图像字段返回以下三种内容中的任何一种:图像 src URL、附件 ID(可以传递给 wp_get_attachment_image_src() 等函数)、附件信息作为数组。

您可以使用var_dump($middle_image)var_dump($midimage) 来检查您是否收到了来自ACF 的正确响应

我假设$middle_image 是您的转发器字段。

只要正确配置 ACF 以返回图像对象(而不是图像 URL 或 ID),您就可以简单地删除此行:

<?php $midimage = wp_get_attachment_image_src($middle_image['image']); ?>

然后使用$middle_image['image']['caption']访问图片标题

【讨论】:

以上是关于高级自定义字段中继器图片说明的主要内容,如果未能解决你的问题,请参考以下文章

ACF 中继器子字段 Shuffle(wordpress 高级自定义字段)

带有中继器的嵌套选项卡 - 高级自定义字段 Wordpress

氧气 - 高级自定义字段重复器子字段 - 链接字段

WordPress 中的高级自定义字段 - 无法在组内使用转发器

以编程方式更新转发器字段中特定组字段的值 - 高级自定义字段 (ACF) - Wordpress

WordPress ACF:为自定义帖子类型添加默认行到管理部分的中继器字段类型