我有一个函数可以返回WordPress媒体库中的所有图像,但问题是它没有返回图像的所有图像大小,例如:(缩略图、小图像、大图像),它只返回原始图像。
function get_images_highcompress_data()
{
$args = array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image/jpeg,image/jpg,image/png\',
\'post_status\' => \'inherit\',
\'posts_per_page\' => -1,
\'orderby\' => \'id\',
\'order\' => \'ASC\'
);
$query_images = new WP_Query( $args );
$images = array();
foreach ( $query_images->posts as $image) {
$images[]= $image->guid;
}
是否有任何其他功能可以从wp媒体库获取所有大小的图像URL。
例如:。Image01.jpg
, image01-500X500.jpg
, Image01-1080X1080.jpg
, Image02.jpg
, image02-500X500.jpg
, Image02-1080X1080.jpg
就像在一个阵列中一样。
最合适的回答,由SO网友:Johansson 整理而成
这是你能做的。
获取所有可用缩略图大小的列表查询所有附件对于每个附件大小,获取其URL并将其保存到数组中让我们将代码更改为:
function get_images_highcompress_data() {
$args = array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image/jpeg,image/jpg,image/png\',
\'post_status\' => \'inherit\',
\'posts_per_page\' => -1,
\'orderby\' => \'id\',
\'order\' => \'ASC\'
);
// Get all the available thumbnail sizes
$sizes = get_intermediate_image_sizes();
// Query the attachments
$query_images = new WP_Query( $args );
$images = array();
// Run a loop
if ( $query_images->have_posts() ){
while ($query_images->have_posts()){
$query_images->the_post();
// For each attachment size, store its URL in an array
foreach ( $sizes as $key => $size ) {
$thumbnails[$key] = wp_get_attachment_image_src( get_the_ID(), $size)[0];
}
$images = array_merge( $thumbnails , $images );
}
return $images;
}
}
返回的数组如下所示:
[0] => thumbnail-url,
[1] => medium-url,
[2] => large-url,
等等。