I want to add an image input to my own WordPress plugin.
For that I use the standard WordPress media-uploader like so:
var custom_uploader;
$('.upload_image_button').click(function(e) {
input = $(this);
e.preventDefault();
custom_uploader = wp.media.frames.file_frame = wp.media({
title: 'Choose Collage Image',
library: {
type: 'image'
},
button: {
text: 'Choose Collage Image'
},
multiple: false,
displaySettings: true,
displayUserSettings: false
});
custom_uploader.on('select', function() {
attachment = custom_uploader.state().get('selection').first().toJSON();
input.prev('input').val(attachment.url);
});
custom_uploader.open();
});
This works perfect.
I add two more image sizes that were exact for my plugin:
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'collage-large', 460, 660, true );
add_image_size( 'collage-small', 460, 325, true );
}
My problem:
The selector for the image size or better the thumbnail selector is not shown at the media upload form. How do I do that?
You could use the media insertion dialog as shown on the “edit page” site, which adds alignment, link_to and size input fields. To do so add
frame: 'post'
to your options array:Instead of listening to the “select” event listen to the “insert” event. This code shows how retrieve the additional properties including the size:
I find some where in Internet. May be it useful.
With attachment you can working with:
To solve your problem I suggest use with case 20 above:
Hope this work!
You’re VERY close. To make the size selectable within the admin panel, review the add_image_size Codex Entry:
So in your case, this should do what you need: