J'écris un plugin personnalisé et j'aimerais ajouter le bouton "Ajouter un média".
J'ai juste besoin de télécharger un média, pour ne récupérer aucun contenu/donnée du fichier téléchargé.
Comment puis-je ajouter ce bouton?
Merci
Si vous souhaitez ajouter un bouton d’ajout de média à vos panneaux admin :
Vous devez utiliser wp_enqueue_media ();
add_action ( 'admin_enqueue_scripts', function () {
if (is_admin ())
wp_enqueue_media ();
} );
Ensuite, utilisez ce js:
jQuery(document).ready(function() {
var $ = jQuery;
if ($('.set_custom_images').length > 0) {
if ( typeof wp !== 'undefined' && wp.media && wp.media.editor) {
$(document).on('click', '.set_custom_images', function(e) {
e.preventDefault();
var button = $(this);
var id = button.prev();
wp.media.editor.send.attachment = function(props, attachment) {
id.val(attachment.id);
};
wp.media.editor.open(button);
return false;
});
}
}
});
Utilisez ce code HTML:
<p>
<input type="number" value="" class="regular-text process_custom_images" id="process_custom_images" name="" max="" min="1" step="1">
<button class="set_custom_images button">Set Image ID</button>
</p>
Afficher l'aperçu des vignettes au lieu du nombre
Juste comme un Tweak, j'ai fait ça ...
changé le nombre entré à caché.
ajoutée:
$imgid =(isset( $instance[ 'imgid' ] )) ? $instance[ 'imgid' ] : "";
$img = wp_get_attachment_image_src($imgid, 'thumbnail');
Et puis ... au-dessus du champ caché.
if($img != "") {
?>
<img src="<?= $img[0]; ?>" width="80px" /><br />
<?php
}
Cela rendra une vignette visible du côté utilisateur au lieu d’un nombre :)