web-dev-qa-db-fra.com

Remplir automatiquement l'image après le téléchargement du média

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&amp;TB_iframe=true');
return false;
});

window.send_to_editor = function(html) {
 imgurl = jQuery('img',html).attr('src');
 jQuery('#upload_image').val(imgurl);
 tb_remove();
}

});
1
Rob Myrick

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>
0
brasofilo