Created
January 28, 2014 01:56
-
-
Save dbspringer/8661122 to your computer and use it in GitHub Desktop.
Revisions
-
dbspringer created this gist
Jan 28, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ <?php class Some_WP_Plugin { /** * Init everything here */ public function __construct() { add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); add_filter( 'ajax_query_attachments_args', array( $this, 'filter_media' ) ); } /** * Call wp_enqueue_media() to load up all the scripts we need for media uploader */ public function enqueue_scripts() { wp_enqueue_media(); wp_enqueue_script( 'some-script', plugins_url( '/', __FILE__ ) . 'js/some_script.js', array( 'jquery' ), '2014-01-27' ); } /** * This filter insures users only see their own media */ public function filter_media( $query ) { // admins get to see everything if ( ! current_user_can( 'manage_options' ) ) $query['author'] = get_current_user_id(); return $query; } } new Some_WP_Plugin(); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ (function($) { $(document).ready( function() { var file_frame; $( '#button-id' ).on( 'click', function( event ) { event.preventDefault(); if ( file_frame ) { file_frame.open(); return; } file_frame = wp.media.frames.file_frame = wp.media({ title: $( this ).data( 'uploader_title' ), button: { text: $( this ).data( 'uploader_button_text' ), }, multiple: false // set this to true for multiple file selection }); file_frame.on( 'select', function() { attachment = file_frame.state().get('selection').first().toJSON(); // do something with attachment here }); file_frame.open(); }); }); })(jQuery);