使用wp_get_attachment_image强制特定的缩略图大小

时间:2013-08-15 06:51:53

标签: wordpress wordpress-theming

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

我尝试过使用Regenerate缩略图等插件(在将新图像尺寸添加到functions.php之后)和自定义图像尺寸,但没有成功。

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

我的Wordpress版本是3.6。

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

1 个答案:

答案 0 :(得分: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。