Wie kann im neuen Wordpress 3.5 Media Manager ein neuer Menüeintrag unter der "Einfügen von URL" in der linken Seitenleiste hinzugefügt werden?
Ich habe mir das Backbone angesehen und versucht, es mit meinem eigenen JS zu verbinden, aber ohne Erfolg.
Edit 2: Dies scheint den Trick zu tun:
http://sumtips.com/2012/12/add-remove-tab-wordpress-3-5-media-upload-page.html
Es sollte für einfache Dinge reichen, aber ich denke, es ist auch möglich, dasselbe in Javascript zu tun. Wäre nett, wenn es ein Tutorial / eine Erklärung geben würde, wie die Interna des neuen Media Managers funktionieren.
media
media-library
erezie
quelle
quelle
Antworten:
OK, ich denke, dass ich etwas habe, das wirklich nah dran ist, eine Antwort zu sein:
Ich habe meinen Code in einen Kern geschrieben
Hier ist das Ergebnis:
Ich habe mehrere Backbone-Objekte erstellt, um das MVC-Muster zu berücksichtigen: Sie
controller.Custom
sind für die gesamte Logik, dieview.Toolbar.Custom
Bearbeitung der Symbolleistenschaltflächen und dieview.Custom
Anzeige der inneren Benutzeroberfläche verantwortlich.quelle
//build an empty view (needs more work)
zum Inhalt der Antwort.Ich arbeite daran, eine Schaltfläche zum "Router-Menü" hinzuzufügen (etwas rechts von "Media Library" hinzuzufügen), aber das System ist das gleiche.
Jetzt macht es noch nichts. Das ist der nächste Schritt!
quelle
Sie können sich in den
media_upload_tabs
Filter einhängen , um die Registerkarte hinzuzufügen. Dies ist die Methode, die vom Plug-in für freigegebene Medien im Netzwerk verwendet wird :Sie können sich dann mit der
media_upload_tab_slug
Aktion verbinden (tab_slug
wie oben beschrieben), um den Inhalt der Registerkarte anzuzeigen:quelle
Ich habe keine Lösung, aber Hinweise. Die Zeichenfolgen stammen aus einem Array. Sie können über Haken filtern
media_view_strings
. Die modale Box nach dem Klick ist ein Javascript, das mit backbone.js seit WP 3.5 erstellt wurde. Sehen Sie sich/wp-includes/js/media-views.js
nach einer Lösung um. Backbone ist auch neu für mich und die Skripte haben viele Quelltextzeilen.quelle
media.view.settings
js var kann durch einen PHP-Filter angepasst werden, um neue Tabs hinzuzufügen, aber diese Tabs werden dann über einen iframe gerendert (siehecreateIframeStates
Methode inmedia-views.js
).