Cum să folosești media upload pe pagina de opțiuni a temei?
Vreau să implementez încărcarea logo-ului în pagina de opțiuni a temei mele. Momentan urmez acest cod
Până acum am încărcat jQuery-ul necesar pentru media upload
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');
}
Întrebare
Cum să implementez formularul de upload folosind media upload-ul existent?
<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('Încarcă'); ?>" />
Vreau să știu
- Cum să conectez butonul la
media-upload.php
- După ce încărcăm imaginea și apăsăm butonul
Insert into Post
din media-upload, imaginea să fie plasată în câmpulname="theme_options_upload"
Aștept răspunsul.

Cel mai probabil vei salva URL-ul imaginii și nu întregul tag de imagine, și există un tutorial excelent care explică cum să folosești media uploader în propriul tău temă sau plugin: http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/
actualizare
În cazul în care folosești acest lucru într-o meta box, vei avea nevoie de ID-ul postării, așa că schimbă codul JS de la:
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
la
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! Mulțumesc pentru designul web. Există vreo indicație despre cum să adaug post_id=$post->ID
?

media-upload.php?post_id=ID&type=image&TB_iframe=true
în WordPress 3.1 necesită post_id=ID
altfel vom primi Notice: Undefined index: post_id. Dacă punem orice ID, butonul "Insert into Post" nu va apărea. Cum putem rezolva această problemă?

hmmm.. exact la fel ca în blogul pe care l-ai postat. dacă citești comentariile de pe blog, vei găsi aceeași problemă ca și mine. majoritatea vor întreba cum să o facă să funcționeze cu post_id

Există un lucru ciudat în legătură cu acest cod și am văzut variații ale aceluiași exemplu postate de numeroase ori, și anume că această linie.. formfield = jQuery('#upload_image').attr('name');
rămâne complet inutilă, variabila este definită dar niciodată folosită (deci poți elimina acea linie fără niciun efect negativ).
