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
嗨。 将图片上传到 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