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

时间:2019-04-07 11:07:37

标签: php wordpress svg jpeg

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

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

检查来源时,我得到了这个奇怪的链接:

<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>

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

2 个答案:

答案 0 :(得分:1)

只是为将来遇到问题的人们增加了答案,问题是您要调用的ACF Image字段设置为image对象,并且您希望它仅返回url。有两种方法可以解决此问题:

选项1:编辑图片字段以仅返回图片网址

专业人士

  • 操作简便,解决方案最快
  • 适用于内联背景CSS

缺点

  • 无法控制返回的图像大小
  • 无法显示可能会影响SEO的图片alt标签

选项2:使用正确的ACF图像代码显示所需内容

显示图像的更好方法是使用“图像对象”字段,因为它可以提供更好的方法,因为您不仅可以访问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图像字段时使用图像对象的更多信息,请访问clicking here

专业人士

  • 同样容易和简单
  • 允许您使用图片的alt,大小,标题,标题等
  • 无需再次输入field函数,即可在代码中轻松使用同一图像

缺点

  • 内联背景图片CSS时不是理想的解决方案,因此请使用图片网址

答案 1 :(得分:0)

*已修复

在这里我只需要使用Image url作为返回值,我不小心使用了数组作为返回值。 谢谢。