Carregar arquivo dentro da página de opções de plugins

Quero fazer o upload de imagens na minha página de opções de complemento personalizado.

Se eu tentar verificar se o botão de envio foi clicado com isset, recebo alguns erros esquisitos. Como posso chamar uma function uploadimages () por exemplo?

Solutions Collecting From Web of "Carregar arquivo dentro da página de opções de plugins"

Uau … este não é simples … não é uma questão de chamar a function mágica uploadimages() … Eu gostaria que fosse 🙂

Aprendi com um tutorial que não consigo encontrar (mas este parece justo) e da análise de outros plugins.

O seguinte é apenas uma orientação geral, desculpe por não ter feito um manual detalhado. Pode haver falhas, mas espero que você consiga se juntar às peças e encontrar o caminho para fazer a sua magia.

Você precisará enqueue os seguintes scripts e estilos na página do seu plug-in :

 function my_admin_scripts() { wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_register_script('your-plugin-js', THIS_PLUG_DIR . 'js/uploader.js', array('jquery', 'media-upload', 'thickbox')); wp_enqueue_script('your-plugin-js'); } function my_admin_styles() { wp_enqueue_style('thickbox'); } 

O botão de upload e o contêiner da imagem.

 < ?php $img = (isset($link->link_image) && '' !== $link->link_image) ? '' : ''; $spanimg = sprintf('', $img); ?> < ?php _e('Set image', 'your-textdomain'); ?> < ?php echo $spanimg; ?> 

E, finalmente, o jQuery dentro do arquivo uploader.js onde o truque acontece:

 jQuery(document).ready(function($) { $('#upload_image_button').click(function() { formfield = $('#link_image').attr('name'); tb_show('', 'media-upload.php?type=image&TB_iframe=true'); return false; }); window.send_to_editor = function(html) { imgurl = $('img',html).attr('src'); imgsrc = ''; $('#link_image').val(imgurl); // this populates a text field with the image url $('#my-link-img').html(imgsrc); // this prints the image into a div tb_remove(); } }); 

Esses fragments foram tirados de um plugin meu (que precisa de uma atualização, como eu aprendi algumas coisas depois de liberá-lo).

Boa sorte!