如何在WordPress后台的某个页面里添加上传按钮

如果你需要在后台某个页面添加上传按钮,你需要用到wp_enqueue_media()这个函数,用于引入上传所需组件。

add_action ( 'admin_enqueue_scripts', function () {
if (is_admin ())
wp_enqueue_media ();
} );

html代码例如:

<p>
<input type="number" value="" class="regular-text process_custom_images" id="process_custom_images" name="" max="" min="1" step="1">
<button class="set_custom_images button">Set Image ID</button>
</p>

js代码例如:

jQuery(document).ready(function() {
var $ = jQuery;
if ($('.set_custom_images').length > 0) {
if ( typeof wp !== 'undefined' && wp.media && wp.media.editor) {
$(document).on('click', '.set_custom_images', function(e) {
e.preventDefault();
var button = $(this);
var id = button.prev();
wp.media.editor.send.attachment = function(props, attachment) {
id.val(attachment.url);
};
wp.media.editor.open(button);
return false;
});
}
}
});

模板兔优化后的代码:

$(document).on('click', '.erphp-add-file', function(e) {
e.preventDefault();
var button = $(this);
var id = button.prev();
var original_send = wp.media.editor.send.attachment;
wp.media.editor.send.attachment = function(props, attachment) {
if($.trim(id.val()) != ''){
id.val(id.val()+'\n'+attachment.url);
}else{
id.val(attachment.url); 
}
wp.media.editor.send.attachment = original_send; 
};
wp.media.editor.open(button);
return false;
});