Integracja JavaScript z resztą pluginu
Pozostało nam już tylko zintegrować skrypt JS z resztą widgetu. Tutaj posiłkuję się lekko zmodyfikowaną i uproszczoną wersją kodu, który znajdziecie na stronach kodeksu WP.
Jak to działa? Do klasy guzika przypisujemy wydarzenie on click – po kliknięciu, zidentyfikowany zostaje rodzic guzika, aby wiedzieć, o którą instancję widgetu chodzi i według niej później wypełnić odpowiednie pole tekstowe. Warto dodać, że oprócz ścieżki do pliku dostajemy także wiele innych informacji dotyczących wybranego medium, które także możemy wykorzystać w naszym widgecie – np. do stworzenia atrybutu alt
dla wyświetlanego już po stronie użytkownika obrazka.
alt: "" author: "1" authorName: "admin" caption: "" compat: Object { item="", meta=""} date: 1489438481000 dateFormatted: "13 marca 2017" description: "" editLink: "http://localhost/wptest/...php?post=45&action=edit" filename: "newsletter_1170.png" filesizeHumanReadable: "18 KB" filesizeInBytes: 18905 height: 100 icon: "http://localhost/wptest/...mages/media/default.png" id: 45 link: "http://localhost/wptest/newsletter_1170/" menuOrder: 0 meta: false mime: "image/png" modified: 1489438481000 name: "newsletter_1170" nonces: Object { update="785ece1edc", delete="8cc545f11a", edit="6d997a9bd4"} orientation: "landscape" sizes: Object { thumbnail={...}, medium={...}, full={...}} status: "inherit" subtype: "png" title: "newsletter_1170" type: "image" uploadedTo: 0 url: "http://localhost/wptest/.../03/newsletter_1170.png" width: 633
To już wszystko! Pozostało wszystko zapisać i przetestować. Pełne archiwum z zamieszczonym przykładem do pobrania tutaj.
Efekt końcowy po dodaniu dwóch instancji naszego widgetu do sidebara wygląda następująco:
WordPress Media Uploader, to całkiem sprytne narzędzie, dzięki któremu już w kilka minut jesteśmy w stanie dodać do naszego pluginu pełną obsługę multimediów – od wysyłania na serwer aż po wybór z biblioteki.
Jeżeli masz dodatkowe pytania napisz w komentarzach pod tym artykułem a postaram się jeszcze coś podpowiedzieć.
Pomogłem? Dodaj coś od siebie! Skomentuj ten wpis: