Jquery fenêtre.send_to_editor
Ne pouvait pas venir avec un bon titre pour cette.
J'ai un build dans WordPress où j'ai des images de multiples téléchargements en utilisant le haut dans WordPress media uploader. Comment cela fonctionne est, après le téléchargement et choisissez "insérer", jQuery est d'insérer le chemin de l'image dans un champ de texte, qui contient l'ID. Une fois que vous enregistrez, le champ de texte est enregistrée dans le tableau d'options.
Fonctionne parfaitement, si vous avez seulement 1 champ de téléchargement. Une fois que vous ajoutez plus de téléchargements, chaque champ de téléchargement est enregistré avec le même chemin de l'image. Juste besoin de chaque bouton télécharger pour seulement insérer la valeur du champ de texte associé.
J'ai essayé de l'utiliser .chaque mais je ne pouvais pas le faire fonctionner correctement. Également essayé d'utiliser .attr('id') pour l'insertion de valeur, mais rien à faire là.
Voici mon jQuery et le balisage:
jQuery('.upload-button').click(function() {
formfield = jQuery('.upload').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').val(imgurl);
tb_remove();
};
<div class="upload_field"
<input type="text" name="upload_one" id="upload_one" class="upload" value="" />
<input type="button" class="upload-button" value="Upload Image" />
</div>
<div class="upload_field"
<input type="text" name="upload_two" id="upload_two" class="upload" value="" />
<input type="button" class="upload-button" value="Upload Image" />
</div>
<div class="upload_field"
<input type="text" name="upload_three" id="upload_three" class="upload" value="" />
<input type="button" class="upload-button" value="Upload Image" />
</div>
Pour plus d'info, voici le programme de transfert de configuration que j'utilise: http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/
Toute aide, comme toujours, est très appréciée.
- Regarde ce commentaire
Vous devez vous connecter pour publier un commentaire.
Juste besoin d'être en mesure de préciser le champ de saisie que la valeur est insérée dans.
prevAll
au lieu deprev
. aussi, lors de la présentation de "Insérer à partir de l'URL", jquery est d'avoir du mal à trouver le 'img' entité. de sorte que vous pouvez envelopper html résultat avant à l'aide de jQuery, comme si,html = "<a>" + html + "</a>"
.window.send_to_editor = function(html) { console.log(html); var file_url = $('a',html).attr('href'); $('#sc_podcast_file').val(file_url); tb_remove(); }
Je l'utiliser pour vous assurer d'autres fonctionnalités fonctionne aussi pour l'éditeur et j'ai également transmettre l'id du champ de saisie que je veux l'image.
Puis utilisez les champs de saisie d'un formulaire dans votre meta box comme ça...
$("#" + uploadID.name).val(imgurl);
devrait être$("#" + uploadID).val(imgurl);
pour éviter undefined questions, dans ma configuration, de toute façon.Le problème avec ces solutions est que vous ne serez pas en mesure d'insérer des images dans les postes de la fonction pour le faire a été remplacé. Voici une modification du code qui permettra d'images à toujours être insérés dans le contenu du billet par le biais de l'éditeur.
La principale différence est que ce code enregistre la fonction d'origine et réassigne à dos send_to_editor.
Voici le code HTML qui va avec comme exemple:
Cet exemple restaure la fenêtre.send_to_editor() func par la liaison de la tb_unload événement soja mentionnés ci-dessus.
Voici mon rendu:
Il vous permet également d'insérer les PDF des fichiers ou quoi que ce soit sans un attribut SRC en faisant un chèque de img src et si aucun, en essayant href sur le document. Ce qui permet l'utilisation de classes et de les appliquer à plusieurs éléments.
Le Javascript:
Échantillon HTML
C'est sûr, c'est un dur problème à résoudre, mais pas très bien documenté, mais je pense que l'utilisation est en augmentation avec des types de poste personnalisés et tout et tout... j'ai à mon humble avis est quelque peu améliorée sur Paul Gillespie code.
Ensuite l'utiliser dans la définition de la fonction personnalisée si vous voulez faire plus que simplement mettre à jour le champ de saisie de la base de données. Pour ma part, je veux afficher les images dans un wrapper de la div avant de le télécharger.
Et de l'appeler presque comme avant:
Espère que quelqu'un le trouve utile!
C'est peut-être un peu vieux sujet, mais suivant vos solutions, j'ai fait mon plugin de travail. Rien dans le code ci-dessus ne s'est pas complètement de ma solution, mais en les combinant j'ai fait le travail. J'avais besoin d'être en mesure d'avoir 2 champs d'upload et à accepter des fichiers vidéo et d'autres images, et de pouvoir aussi afficher des images et des vidéos dans le post de l'écran d'édition.
Et les champs pour les télécharger sont comme cette
Cette façon, je peux charger une image avec des vignettes de champ, et de la vidéo avec la vidéo de champ, et ajouter des images ou de la galerie dans le post de l'écran d'édition aussi.
Plus tard avec php, j'vérifier si les extensions sont en bon champs d'upload et de les enregistrer dans des champs personnalisés, sinon laissez le champ vide.
Peut-être que certains vont trouver cela utile, car j'ai trouvé vos réponses utiles et utile pour moi.
Voici ma solution. Cela vous permettra de télécharger toutes les images doc, PDF, etc ... & résoudra les problèmes de conflit que l'on obtient avec les éditeurs de texte
J'ai utilisé ce pour le téléchargement audio: