J'essaie de renseigner automatiquement une image sur une page de thème à l'aide du programme de téléchargement de média natif Wordpress, mais je souhaite que l'image soit remplie avant que l'option ne soit enregistrée. Avec le code ci-dessous, l'URL de l'image est correctement renseigné dans le champ input
automatiquement, mais je ne vois pas comment obtenir l'image à afficher:
<td>
<label for="upload_image">
<input style="float:left; width:80%" id="upload_image" type="text" name="upload_image" value="<?php echo $options['upload_image']; ?>" />
<input style="float:right" id="upload_image_button" type="button" value="Upload Image" />
<br/>
<img id="upload_image" name="upload_image" src="<?php if ($options['upload_image'] != "" ) { echo $options['upload_image']; } ?>" />
</label>
</td>
CODE AJOUTÉ:
Voici le script pour le #upload_image_button
jQuery(document).ready(function() {
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
window.send_to_editor = function(html) {
imgurl = jQuery('img',html).attr('src');
jQuery('#upload_image').val(imgurl);
tb_remove();
}
});
Dans le même appel où l'URL de l'image est envoyé à l'éditeur, vous remplissez une autre div avec une source d'image.
Comme:
window.send_to_editor = function(html)
{
imgurl = jQuery('img',html).attr('src');
jQuery('#upload_image').val(imgurl);
imgsrc = '<img id="upload_image" name="upload_image" src="'+imgurl+'">';
jQuery('#image-holder').html(imgsrc);
tb_remove();
}
PS: ceci s’applique à Old Thickbox, pas à New Upload Uploader, qui a très peu d’exemples de nos jours.
[mettre à jour]
Dans le code de la page de thème d'origine, l'image doit être enveloppée dans:
<div id="image-holder"><img id="upload_image" name="upload_image" src="<?php if ($options['upload_image'] != "" ) { echo $options['upload_image']; } ?>" /></div>