首页 > 解决方案 > Wordpress 将特色图像作为尺寸数组获取

问题描述

我想将帖子的特色图像的所有尺寸作为一个数组获取,以便我可以轻松地在srcset属性中使用它们。

目前,我正在使用以下代码以单一尺寸获取帖子的特色图片,以便将其用作预告片的背景图片;

$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'banner' )[0]


<img src="<?php echo $image; ?>">

这显然只返回“横幅”大小的 URL。

我有 4 种尺寸、"banner""large""medium""thumbnail",我想要在一个数组中,这样我就可以轻松访问所有尺寸,而无需重复上述代码 4 次。

例如

$image[0]; // banner
$image[1]; // large
$image[2]; // medium
$image[3]; // thumbnail

有没有一种简单的内置方法可以做到这一点?如果不是这样做的功能,将不胜感激!

标签: wordpress

解决方案


没有直接的方法可以在 WordPress 中获取特色图像的所有大小。为此,您可以手动进行。

首先,您需要获取已注册图像大小的数组。

$image_sizes = get_intermediate_image_sizes();

然后循环遍历图像大小,并使用它们输出特色图像。

foreach ( $image_sizes as $image_size ) {
    echo '<li>';
    the_post_thumbnail( $post->ID, $image_size );
    echo '</li>';
}

推荐阅读