Дивіться цей скелет для завантаження медіа . Ви також можете використовувати його у вашій спеціальній розмітці, як-от Meta Box.
Підкажіть, переконайтеся, що ви використовуєте лише сценарії на сторінці, де ви активно використовуєте метабокс. В іншому випадку це часто проблема на сторінках за замовчуванням і в завантажувачі.
Тепер спробу очистити важливі частини, щоб включити завантажувач до вашої користувацької частини.
Спочатку включіть кнопку в метаполе:
<input id="upload_image" type="text" size="36" name="upload_image" value="" />
<input id="upload_image_button" type="button" value="Upload Image" />
Тепер опишіть сценарії:
function my_admin_scripts() {
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_register_script('my-upload', WP_PLUGIN_URL.'/my-script.js', array('jquery','media-upload','thickbox'));
wp_enqueue_script('my-upload');
}
function my_admin_styles() {
wp_enqueue_style('thickbox');
}
// better use get_current_screen(); or the global $current_screen
if (isset($_GET['page']) && $_GET['page'] == 'my_plugin_page') {
add_action('admin_print_scripts', 'my_admin_scripts');
add_action('admin_print_styles', 'my_admin_styles');
}
Остання частина - це ваш власний сценарій для використання товстої скриньки та завантажувача всередині цього.
jQuery(document).ready( function( $ ) {
$('#upload_image_button').click(function() {
formfield = $('#upload_image').attr('name');
tb_show( '', 'media-upload.php?type=image&TB_iframe=true' );
window.send_to_editor = function(html) {
imgurl = $(html).attr('src');
$('#upload_image').val(imgurl);
tb_remove();
}
return false;
});
});