Display Media Uploader in Own Plugin on WordPress 3.5

I have little problem with Media Uploader in new WordPress 3.5. I created own plugin which is upload the picture. I’m using this code JS:

<script type="text/javascript">
    var file_frame;

    jQuery('.button-secondary').live('click', function( event ){

        event.preventDefault();

        if ( file_frame ) {
            file_frame.open();
            return;
        }

        file_frame = wp.media.frames.file_frame = wp.media(
            {
                title: 'Select File',
                button: {
                    text: jQuery( this ).data( 'uploader_button_text' )
                },
                multiple: false
            }
        );

        file_frame.on('select', function() {
            attachment = file_frame.state().get('selection').first().toJSON();
            jQuery('#IMGsrc').val(attachment.url);
        });

        file_frame.open();
    });
</script>

The code works fine, but unfortunately forms appears incomplete. When I select any picture doesn’t show me ‘Attachment Display Settings’ on right side. I don’t know why. I try add options to media:

Read More
displaySettings: true,
displayUserSettings: true

But it also doesn’t work.

Related posts

Leave a Reply

2 comments

  1. Does the page have the <script type="text/html" id="tmpl-attachment-details">... template in the source? If not, you’ll need to call wp_print_media_templates(), to write the styles from wp-includes/media-template.php

  2. This is the code I use. Source: http://mikejolley.com/2012/12/using-the-new-wordpress-3-5-media-uploader-in-plugins/ It seems to work pretty well, but the sidebar on the left is missing. (Intentional, but I don’t want it anyways).

    <?php wp_enqueue_media(); ?>
    
    <script>
    
    function showAddPhotos() {
    
    // Uploading files
    var file_frame;
    
    // event.preventDefault();
    
    // If the media frame already exists, reopen it.
    if ( file_frame ) {
      file_frame.open();
      return;
    }
    
    // Create the media frame.
    file_frame = wp.media.frames.file_frame = wp.media({
      title: jQuery( this ).data( 'uploader_title' ),
      button: {
        text: jQuery( this ).data( 'uploader_button_text' ),
      },
      multiple: false  // Set to true to allow multiple files to be selected
    });
    
    // When an image is selected, run a callback.
    file_frame.on( 'select', function() {
      // We set multiple to false so only get one image from the uploader
      attachment = file_frame.state().get('selection').first().toJSON();
    
      // Do something with attachment.id and/or attachment.url here
    });
    
    // Finally, open the modal
    file_frame.open();
    
    }
    </script>