2

我已经看到了这个问题的各种解决方案,但没有一个能解决我的简单问题。正如您在网站上看到的那样,我正在处理右侧的缩略图不相等。我需要将它们设置为 214x121px 作为缩略图。

我尝试使用诸如 Regenerate thumbnails (在将新的图像大小添加到 functions.php 之后)和自定义图像大小之类的插件,但没有成功。

我认为这很明显,但<?php echo wp_get_attachment_image( $attachment->ID, array(214, 121), false );?>因为据我了解,Wordpress 会将最接近的、考虑比例的图像带到给定的大小。

我的 Wordpress 版本是 3.6。

任何想法/帮助将不胜感激。

4

1 回答 1

2

我通常使用 wp_get_attachment_image_src 来执行此操作,我是这样做的:

如果您像这样添加了自定义图像大小:

add_image_size( 'blog_featured_image', 214, 121, false); //Featured Image for Blog

然后在您的模板中,您可以像这样调用自定义图像大小:

<?php $imageID = get_field('featured_resource_image');
$imageURL = wp_get_attachment_image_src( $imageID, 'blog_featured_image' ); ?>
<img src="<?php echo $imageURL[0]; ?>" />

'featured_resource_image' 是我使用高级自定义字段插件创建的自定义字段,但它的 get_field 只返回所选图像的 ID。所以我将图像的 ID 分配给 $imageID。然后我使用 wp_get_attachment_image_src 获取图像的对象,其中我使用了“blog_featured_image”的自定义图像大小。这将返回一个包含所有图像数据的数组。数组中的第一条记录是图像的 URL,所以我回显 $imageURL[0] 以返回 URL。

可能还有其他方法可以做到这一点,可能是更好的方法,但这种方法一直对我有用。

编辑:通过查看您引用的函数,这应该有效:

如上所述定义您的自定义图像大小。然后使用这个:

<?php wp_get_attachment_image( $attachment_id, 'blog_featured_image' ); ?>

只需将 $attachment_id 设置为等于您的图像 ID,但是您当前正在获取 ID。

于 2013-08-16T13:41:38.777 回答