首页 > 解决方案 > 使用 ACF 短代码值,该值返回一个 url 作为图像标签的 src

问题描述

试图通过它的 url 创建一个可以在整个站点的不同页面上多次重复使用的图像。当前使用 ACF 在文件所在的页面上创建图像字段,从那里使用放置在 scr="" 中的 ACF 短代码输出图像。

没有 img 标签,只使用[acf field="name" post_id="24"]它返回的简码

http://www.example.com/wp-content/uploads/2020/07/iain-e1593698192670.jpg

跟随此链接在新选项卡中提供了图像,因此我认为 url 不是问题的根源。

目前的设置是

<img src="[acf field="iain" post_id="24"]">

结果:恼人的破碎图像图标

编辑

使用海狸生成器

标签: htmlwordpressadvanced-custom-fieldsbrokenimage

解决方案


首先,您不能像拥有它们那样将双引号嵌套在双引号内 - 您可以在短代码周围使用单引号,或者将它们用于短代码中的属性。

如果您在模板中使用短代码,则需要使用do_shortcodePHP 函数。否则它只会在页面上显示实际的短代码文本。在您的情况下,它正在寻找带有 url 的图像[acf field="iain" post_id="24"],这就是您得到损坏图像的原因。

您需要将图像源更改为以下内容:

<img src="<?php echo do_shortcode('[acf field="iain" post_id="24"]'); ?>">

推荐阅读