Je dois utiliser WP media uploader pour télécharger plusieurs images dans mon plugin. J'ai trouvé ce code qui fonctionne bien pour une seule image. J'ai essayé de remplacer multiple: false
par true, ce qui m'a permis de sélectionner plusieurs images dans le chargeur de média. Mon problème est que je ne sais pas comment obtenir les URL de toutes les images téléchargées, pas une seule telle qu'elle est dans le code ci-joint. J'ai essayé de changer var uploaded_image = image.state().get('selection').first();
en var uploaded_image = image.state().get('selection')
, puis de parcourir le tableau avec ce code, mais sans succès.
var uploaded_image = image.state().get('selection').first();
jQuery.each(uploaded_image, function (i) {
console.log(uploaded_image[i].toJSON().url);
});
Code d'origine:
jQuery(document).ready(function($){
$('#upload-btn').click(function(e) {
e.preventDefault();
var image = wp.media({
title: 'Nahranie obsahu',
// mutiple: true if you want to upload multiple files at once
multiple: false
}).open()
.on('select', function(e){
// This will return the selected image from the Media Uploader, the result is an object
var uploaded_image = image.state().get('selection').first();
// We convert uploaded_image to a JSON object to make accessing it easier
// Output to the console uploaded_image
// console.log(uploaded_image);
var image_url = uploaded_image.toJSON().url;
// Let's assign the url value to the input field
$('#image_url').val(image_url);
});
});
});
Je l'ai obtenu avec un code de cette question https://stackoverflow.com/questions/14847668/get-url-of-freshly-uploaded-image-from-wp3-5-media-uploader
Peut-être que quelqu'un le trouvera utile. Ce code enregistre l'URL de chaque image nouvellement uplaodée sur la console.
jQuery(document).ready(function($){
$('#upload-btn').click(function(e) {
e.preventDefault();
var image = wp.media({
title: 'Nahranie obsahu',
// mutiple: true if you want to upload multiple files at once
multiple: true
}).open()
.on('select', function(e){
// This will return the selected image from the Media Uploader, the result is an object
var uploaded_images = image.state().get('selection');
var attachment_ids = uploaded_image.map( function( attachment ) {
attachment = attachment.toJSON();
console.log(attachment.url);
}).join();
// We convert uploaded_image to a JSON object to make accessing it easier
// Output to the console uploaded_image
// console.log(uploaded_image);
var image_url = uploaded_image.toJSON().url;
// Let's assign the url value to the input field
$('#image_url').val(image_url);
});
});
});