Jak dodać nowy element menu pod „wstaw z adresu URL” na lewym pasku bocznym w nowym Wordpress 3.5 Media Manager?
Patrzyłem na JS kręgosłupa i próbowałem podłączyć się do niego z moim własnym JS, ale bez powodzenia.
Edycja 2: Wydaje się, że to załatwia sprawę:
http://sumtips.com/2012/12/add-remove-tab-wordpress-3-5-media-upload-page.html
Powinien to zrobić dla prostych rzeczy, ale myślę, że to samo można zrobić w Javascript. Byłoby miło, gdyby istniał samouczek / wyjaśnienie, w jaki sposób działają nowe elementy wewnętrzne menedżera multimediów.
media
media-library
erezie
źródło
źródło
Odpowiedzi:
OK, myślę, że mam coś, co jest naprawdę bliskie odpowiedzi:
Kładę kod w GIST
Oto wynik:
Zbudowałem kilka obiektów Backbone, aby uszanować wzór MVC: odpowiada
controller.Custom
za całą logikę,view.Toolbar.Custom
zajmuje się przyciskami paska narzędzi iview.Custom
wyświetla wewnętrzny interfejs użytkownika.źródło
//build an empty view (needs more work)
do treści odpowiedzi.Pracuję nad dodaniem przycisku do „menu routera” (dodanie czegoś z „Biblioteki multimediów”), ale system jest taki sam.
Teraz nic jeszcze nie robi. To kolejny krok!
źródło
Możesz podłączyć
media_upload_tabs
filtr, aby dodać kartę. Jest to metoda używana przez wtyczkę Network Shared Media :Następnie możesz podpiąć się do
media_upload_tab_slug
akcji (gdzietab_slug
jest to, jak opisano powyżej), aby wyświetlić zawartość karty:źródło
Nie mam rozwiązania, ale wskazówki. Ciągi znaków pochodzą z tablicy. Możesz filtrować za pomocą haka
media_view_strings
. Modalne pole po kliknięciu to javascript, budowany z backbone.js od WP 3.5. Zobacz/wp-includes/js/media-views.js
rozwiązanie. Backbone jest dla mnie również nowy, a skrypty mają wiele linii źródłowych.źródło
media.view.settings
js var może zostać ulepszony przez filtr php, aby dodać nowe karty, ale następnie te karty są renderowane za pomocą elementu iframe (patrzcreateIframeStates
metoda wmedia-views.js
).