Come utilizzare il caricamento dei media nella pagina delle opzioni del tema?
Voglio implementare il caricamento del logo nella mia pagina delle opzioni del tema. Attualmente sto seguendo questo codice
Per ora ho caricato il jquery necessario per l'upload dei media
function load_only() {
add_thickbox();
wp_enqueue_script('jquery-option', get_template_directory_uri() . '/admin/js/jquery.option.js', array('jquery','media-upload','thickbox','jquery-ui-core','jquery-ui-tabs'), '1.0');
}
Domanda
Come implementare il form di upload utilizzando il caricamento media esistente?
<input id="theme_options_upload" type="text" name="theme_options_upload" value="<?php esc_attr_e( $options['theme_options_upload'] ); ?>" />
<input type="button" name="just_button" value="<?php esc_attr_e('Carica'); ?>" />
Voglio sapere
- Come collegare il pulsante a
media-upload.php
- Dopo aver caricato l'immagine e cliccato sul pulsante
Inserisci nel Post
nella finestra di media-upload, l'immagine deve essere inserita nel camponame="theme_options_upload"
Fatemi sapere.

È molto probabile che tu salvi l'URL dell'immagine e non l'intero tag dell'immagine, e c'è un ottimo tutorial che spiega proprio come utilizzare il media uploader nel tuo tema o plugin: http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/
aggiornamento
Nel caso di utilizzo in un meta box avrai bisogno dell'ID del post, quindi modifica il codice js da:
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
a
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
post_id = jQuery('#post_ID').val();
tb_show('', 'media-upload.php?post_id='+post_id+'&type=image&TB_iframe=true');
return false;
});

Bravo! Grazie web design. Hai qualche idea su come aggiungere post_id=$post->ID
?

media-upload.php?post_id=ID&type=image&TB_iframe=true
in wp 3.1 richiede post_id=ID
altrimenti otterremo Notice: Undefined index: post_id. Se inseriamo un ID qualsiasi il pulsante "Inserisci nel post" non viene mostrato. Come possiamo risolvere?

hmmm.. esattamente come il blog che hai postato. se leggi i commenti sul blog troverai lo stesso problema che ho io. molti di loro chiederanno come farlo funzionare con post_id

C'è una cosa strana in questo codice, e ho visto diverse varianti dello stesso esempio pubblicate più volte, è che questa riga.. formfield = jQuery('#upload_image').attr('name');
rimane totalmente inutile, la variabile è definita ma mai utilizzata (quindi puoi effettivamente rimuovere quella riga senza conseguenze).
