显示随机ACF图库图像并使用图像自定义链接

问题描述 投票:0回答:1

我们想用可点击的随机图像替换滑块。到目前为止,我已经使用下面的代码完成了一半的工作,该代码从 ACF 库中提取一张图像并显示它。

我似乎找不到的是如何使用图像的自定义链接(加载到 WP 媒体库时分配的链接),以便图像也可单击(用户加载图像并分配所需的自定义链接) ).

有人知道如何让它发挥作用吗?

干杯!

<?php
$images = get_field('gallery', '', false);
$size = 'full';
$rand = array_rand($images ?? [null]);


if( $images ): ?>
<?php echo wp_get_attachment_image( $images[$rand], $size, "", $attr ); ?>
<?php endif; ?>
wordpress advanced-custom-fields acfpro
1个回答
0
投票

默认情况下,在

Wordpress
中,图像等附件有四个可用的可编辑文本字段:

  • 替代文本
  • 标题
  • 标题
  • 描述

可能不是一个好的做法,但为了记录,如果您要使用这些字段之一作为图像自定义链接的源,以下是如何快速访问它们:

$images = get_field('gallery', '', false);
$size = 'full';
$rand = array_rand($images ?? [null]);
$image_id = $images[$rand];

$image_title = get_the_title($image_id);
$image_alt = get_post_meta($image_id, '_wp_attachment_image_alt', TRUE);
$image_caption = wp_get_attachment_caption($image_id);
$image_description = get_post_field('post_content', $image_id);

您还没有完全澄清这一点,但我怀疑您实际上正在使用

ACF
字段组,并将图像链接自定义字段分配给附件的表单。我猜它的类型将是 url 那么。如果是这种情况,您可以像这样简单地访问该字段的值:

$image_link = get_field('YOUR_CUSTOM_FIELD_NAME', $image_id);

然后只需使用新网址让您的图像可点击即可:

if ($images) {
  $image_html = wp_get_attachment_image($image_id, $size);
  echo '<a href="'.$image_link.'">'.$image_html.'</a>';
}
© www.soinside.com 2019 - 2024. All rights reserved.