Bonjour à tous,
En suivant le tuto 'Utiliser l'uploader de Média', j'ai un soucis pour récupérer la variable "wp" dans mon fichier .js

Voici ce que je fais dans mon functions.php :

wp_register_script( 'addPics', get_template_directory_uri() . '/js/addPics-script.js', array('jquery'));
if(is_user_logged_in() && 'etablissement' == get_post_type() && is_single()){
      wp_enqueue_media();
      wp_enqueue_script( 'addPics');      
}

Et ce que j'ai dans mon fichier addPics-script.js

(function($){
    $(document).ready(function(){
        $('#addPicEta').click(function(e){
            e.preventDefault();
            console.log('test');
            wp.media({
                title : 'Ajouter une photo',
                button : {
                    text : 'Choisir une photo'
                },
                multiple:false
            }).open();
        })
    })
})(jQuery);

En retour dans ma console j'ai bien le 'test' mais par après j'ai "Uncaught ReferenceError: wp is not defined". Ce qui montre bien que mon .js fonctionne.
Comme l'indique Grafikart, il faut ajouter la ligne wp_enqueue_media(), afin de pouvoir (normalement) récupérer la variable. Cependant cela n'a point l'air de fonctionner.
Une petite différence par rapport au tuto, je souhaite donner la possibilité aux utilisateurs inscrits d'ajouter des photos à un custom_post_type depuis le front-end, faut-il ajouter d'autres scripts pour que cela fonctionne?

Merci

1 réponse


zEdissime
Auteur
Réponse acceptée

Hello, finalement après quelques temps de recherche, j'ai fini par comprendre qu'il suffisait simplement de loader mon script "addPics-script.js" dans le footer.

Par contre, juste à titre de curiosité, je me demande où grafikart a trouvé la doc concernant cet uploader. J'ai pas mal cherché, mais par exemple, je me demande si il y a d'autres options possible lorsque l'on crée la boite d'upload. Genre, ne pas donner l'accès à l'entièreté des médias, juste à la possibilité d'uploader et modifier les infos des médias que l'ont vient d'uploader.