J'ai suivi un didacticiel sur la manière de télécharger des images à l'aide de l'outil de téléchargement de média 3.5 de Wordpress. Tout est bien. Je voudrais juste changer le texte du bouton de téléchargement actuel "Insérer dans le message" en quelque chose comme ".. Insérer une image".
J'essaie également de faire cela en tant qu'option de plug-in afin que cela puisse être dynamique.
Toute aide pour que cela fonctionne? Je suis d'accord avec jQuery, mais rien n'a encore avancé.
$.fn.wptuts = function(options) {
var selector = $(this).selector; // Get the selector
// Set default options
var defaults = {
'preview' : '.preview-upload',
'text' : '.text-upload',
'button' : '.button-upload',
'upload' : 'Upload Image'
};
var options = $.extend(defaults, options);
var _custom_media = true;
var _orig_send_attachment = wp.media.editor.send.attachment;
// When the Button is clicked...
$(options.button).click(function() {
// Get the Text element.
var button = $(this);
var text = $(this).siblings(options.text);
var send_attachment_bkp = wp.media.editor.send.attachment;
_custom_media = true;
wp.media.editor.send.attachment = function(props, attachment) {
if(_custom_media) {
// Get the URL of the new image
text.val(attachment.url).trigger('change');
} else {
return _orig_send_attachment.apply(this, [props, attachment]);
};
}
// Change Button Text
wp.media.frames.file_frame = wp.media({
title: defaults.upload,
button: {
text: defaults.upload
},
multiple: false
});
wp.media.editor.open(button);
return false;
});
$('.add_media').on('click', function() {
_custom_media = false;
});
$(options.text).bind('change', function() {
// Get the value of current object
var url = this.value;
// Determine the Preview field
var preview = $(this).siblings(options.preview);
// Bind the value to Preview field
$(preview).attr('src', url);
});
}
// Usage
$('.upload').wptuts(); // Use as default option.
Je l'ai compris en utilisant une méthode différente. Aide de ici .
$.fn.oeUpload = function(options) {
// Set default options
var defaults = {
'preview' : '.preview-upload',
'text' : '.text-upload',
'button' : '.button-upload',
'name' : 'Choose Image'
};
var options = $.extend(defaults, options);
var uploader;
$(options.button).click(function(e) {
e.preventDefault();
//If the uploader object has already been created, reopen the dialog
if (uploader) {
uploader.open();
return;
}
//Extend the wp.media object
uploader = wp.media.frames.file_frame = wp.media({
title: options.name,
button: {
text: options.name
},
multiple: false
});
//When a file is selected, grab the URL and set it as the text field's value
uploader.on('select', function() {
attachment = uploader.state().get('selection').first().toJSON();
$(options.text).val(attachment.url);
$(options.preview).attr('src', attachment.url);
});
//Open the uploader dialog
uploader.open();
});
}
$('.upload').oeUpload({name: "Choose This Image"});