Napisałem wtyczkę, w której w prawym dolnym rogu znajduje się mała ikona czatu, ale chcę, aby użytkownik mógł wybrać obraz jako ikonę z Media Library
. Jak mogę to zrobić za pomocą interfejsu API Wordpress? Obraz jest ustawieniem we wtyczce (zmienianym tylko przez administratora)
media-library
Tomasz
źródło
źródło
wp.media
opcję, aby umożliwić niestandardowe przesyłanie, wybierz plik multimedialny dla tego wymagania. WPSE ma wiele przykładów, ale może ten post pomaga ci jeroensormani.com/... Również możesz znaleźć na przykładach github, zwłaszcza z ocean90 - github.com/ocean90/media-modal-demoOdpowiedzi:
Należy użyć,
wp.media
aby skorzystać z okna dialogowego Menedżera multimediów WordPress.Najpierw musisz kolejkować skrypty:
Twój HTML może wyglądać mniej więcej tak: (zwróć uwagę, że mój kod używa identyfikatora załącznika w ustawieniu wtyczki zamiast adresu URL obrazu, tak jak zrobiłeś to w odpowiedzi, myślę, że jest znacznie lepszy. Na przykład użycie identyfikatora pozwala uzyskać różne rozmiary obrazów, gdy potrzebuję ich):
myscript.js
I akcja Ajax, aby odświeżyć podgląd obrazu:
PD: jest to krótka próbka napisana tutaj na podstawie innej odpowiedzi . Nie przetestowano, ponieważ nie podałeś wystarczających informacji o dokładnym kontekście, w jakim kod będzie używany lub o dokładnych problemach.
źródło
Wykorzystanie
wordpress-settings-api-class
przez Tareq Hasan, Url: https://github.com/tareq1988/wordpress-settings-api-classclass.settings-api.php
we wtyczce. (ten plik https://github.com/tareq1988/wordpress-settings-api-class/blob/master/src/class.settings-api.php )'type' => 'file'
, aby dodać program do przesyłania multimediów. (Zobacz ten przykład, aby lepiej zrozumieć https://github.com/tareq1988/wordpress-settings-api-class/blob/master/example/procedural-example.php )źródło
wp.media
kontrola .Ponieważ chcesz, aby ikona była inna dla każdego użytkownika, będziesz musiał zapisać obraz w profilu użytkownika. Oznacza to, że musisz dodać dodatkowe pole użytkownika:
Teraz daje to możliwość przesłania pliku z komputera użytkownika. Jeśli chcesz, aby użytkownik wybrał plik z istniejących obrazów, sprawy stają się bardziej skomplikowane, ponieważ wtedy musisz wywołać bibliotekę multimediów zamiast domyślnego przesyłania plików. Steven Slack napisał świetny post, jak to zrobić, czego nie chcę przypisywać, kopiując tutaj jego kod.
W szablonie należy wyróżnić trzy możliwości: użytkownik nie zalogowany, użytkownik zalogowany, ale nie ma ikony, użytkownik zalogowany i ma ikonę. Z grubsza uwzględnij to:
źródło
Pełny kod z wtyczką można znaleźć pod tym adresem: http://blog.adlivetech.com/use-wordpress-media-upload-custom-code/
Łatwy w użyciu, wystarczy skopiować kod i wkleić go w wymagane miejsce
źródło
Użyłem tego rozwiązania (bez samej biblioteki multimediów):
Używanie image-picker-lib wewnątrz modalu, który ustawia wartość ukrytego wejścia, które jest wysyłane do opcji. Pobierając wszystkie media i wyświetlając je jako opcje, mogę pozwolić użytkownikowi wybrać obraz.
HTML
PHP / HTML
JS
źródło
wp.media
kontrola .