I'm trying to get a list of different image sizes in Wordpress. I think this is more of a php question though so I'm asking it here instead of on the wordpress forum.
Here is my code:
function ajax_get_latest_posts(){
$attachments = get_children(array('post_parent' => $post->ID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID'));
foreach($attachments as $att_id => $attachment) {
$large_bg_url = wp_get_attachment_image_src($attachment->ID, 'background-large');
$medium_bg_url = wp_get_attachment_image_src($attachment->ID, 'background-medium');
$small_bg_url = wp_get_attachment_image_src($attachment->ID, 'background-small');
$imagesizes .= array('background_large' => $large_bg_url[0], 'background_medium' => $medium_bg_url[0], 'background_small' => $small_bg_url[0]);
}
$allimagesizes = array($imagesizes);
return $allimagesizes;
}
The above code does not work but hopefully shows what I'm trying to achieve. The problem is the concatenation of $imagesizes is not right. Below is the output I actually need to achieve but I cannot seem to figure out how to get this output from the foreach loop.
$allimagesizes = array(
array(
'background_large' => 'http://mydomain.com.au/wp-content/uploads/facade.jpg',
'background_medium' => 'http://mydomain.com.au/wp-content/uploads/facade-1366x807.jpg',
'background_small' => 'http://mydomain.com.au/wp-content/uploads/facade-1024x605.jpg '
),
array(
'background_large' => 'http://mydomain.com.au/wp-content/uploads/facade-trees.jpg',
'background_medium' => 'http://mydomain.com.au/wp-content/uploads/facade-trees-1366x818.jpg',
'background_small' => 'http://mydomain.com.au/wp-content/uploads/facade-trees-1024x613.jpg '
)
);