Wordpress 为图像生成一些奇怪的链接

Wordpress generates some weird links for images

嗨。 将图片上传到 Wordpress 后,它显示一些奇怪的 link 而不是 "link-to-project/wp-content/uploads/2019/04/IMG_20171129_125745.jpg"

我注意到它显示了数据库中的一些信息。例如 ID 和日期、大小等。但我不知道为什么 wordpress 这样做。

当我检查源代码时,我发现这个很奇怪 link:

<a class="logo" href="http://localhost/project/"><img src="22, 22, IMG_20171129_125745, IMG_20171129_125745.jpg, 667317, http://localhost/project/wp-content/uploads/2019/04/IMG_20171129_125745.jpg, http://localhost/project/img_20171129_125745/, , 1, , , img_20171129_125745, inherit, 0, 2019-04-07 10:54:26, 2019-04-07 10:54:26, 0, image/jpeg, image, jpeg, http://localhost/project/wp-includes/images/media/default.png, 1700, 1000, Array" alt="logo"></a>

这是PHP代码

<a class = "logo" href="<?php echo get_home_url(); ?>/"><img src="<?php the_field('website_logo','options');  ?>" alt="logo" /></a>

注意我在这里使用高级自定义字段。

*固定

我不得不在这里使用图像 url 作为 Return 值,我不小心将数组用作 return 值。 谢谢。

只是为了补充您对将来遇到问题的人的回答,问题是您调用的 ACF Image 字段设置为 image object 而您期望它 return 只是url。有两种方法可以解决此问题:

选项 1:将图像字段编辑为仅 return 图像 URL

优点

  • 简单易行,最快的解决方案
  • 适合内联背景css

缺点

  • 无法控制 returned
  • 的图像大小
  • 无法显示影响 SEO 的图片 alt 标签

选项 2:使用正确的 ACF 图像代码显示您要查找的内容

显示图像的更好方法是使用图像 object 字段,因为它允许更好的方法,因为您可以访问所有图像属性而不仅仅是 URL。为了显示这些见下文:

$image = get_field('website_logo','options');

<a class="logo" href="<?php echo get_home_url(); ?>/">
    <img src="<?php echo $image['url'];?>" alt="<?php echo $image['alt'];?>" />
</a>

有关在使用 ACF 图像字段时使用图像 object 的更多信息,请访问 clicking here

优点

  • 同样简单易行
  • 允许您使用图像的 alt、大小、标题、标题等
  • 允许您在代码中使用相同的图像,而无需再次输入字段函数

缺点

  • 内联背景图像时不是理想的解决方案 css,因此请改用图像 url