J'ai une fonction qui renvoie toutes les images de la médiathèque WordPress, mais le problème est qu'elle ne renvoie pas toutes les tailles d'image, p. Ex. (Miniature, petite, grande), elle ne renvoie que l'image d'origine.
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;
}
Existe-t-il une autre fonction permettant d’obtenir toutes les images d’URL de la médiathèque wp avec toutes ses tailles?.
Par exemple. Image01.jpg
, image01-500X500.jpg
, Image01-1080X1080.jpg
, Image02.jpg
, image02-500X500.jpg
, Image02-1080X1080.jpg
Comme ceci dans un seul tableau.
Voici ce que vous pouvez faire.
Changeons votre code en ceci:
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;
}
}
Le tableau retourné ressemblera à ceci:
[0] => thumbnail-url,
[1] => medium-url,
[2] => large-url,
Etc.