/** * Enqueue scripts and styles * * @return void */ static function admin_enqueue_scripts() { parent::admin_enqueue_scripts(); add_thickbox(); wp_enqueue_script('media-upload'); wp_enqueue_script('SW_META-thickbox-image', SW_META_JS_URL . 'thickbox-image.js', array('jquery'), SW_META_VER, true); }
/** * Add actions * * @return void */ static function add_actions() { // Do same actions as file field parent::add_actions(); // Attach images via Ajax add_action('wp_ajax_SW_META_attach_media', array(__CLASS__, 'wp_ajax_attach_media')); add_action('print_media_templates', array(__CLASS__, 'print_templates')); }
/** * Normalize parameters for field * * @param array $field * * @return array */ static function normalize_field($field) { $field['js_options'] = array('runtimes' => 'html5,silverlight,flash,html4', 'file_data_name' => 'async-upload', 'browse_button' => $field['id'] . '-browse-button', 'drop_element' => $field['id'] . '-dragdrop', 'multiple_queues' => true, 'max_file_size' => wp_max_upload_size() . 'b', 'url' => admin_url('admin-ajax.php'), 'flash_swf_url' => includes_url('js/plupload/plupload.flash.swf'), 'silverlight_xap_url' => includes_url('js/plupload/plupload.silverlight.xap'), 'multipart' => true, 'urlstream_upload' => true, 'filters' => array(array('title' => _x('Allowed Image Files', 'image upload', 'meta-box'), 'extensions' => 'jpg,jpeg,gif,png')), 'multipart_params' => array('field_id' => $field['id'], 'action' => 'SW_META_plupload_image_upload')); $field = parent::normalize_field($field); return $field; }