Bagaimana cara menambahkan item menu baru di bawah "masukkan Dari URL" di sidebar kiri di Wordpress 3.5 Media Manager yang baru?
Saya telah melihat backbone js dan mencoba mengaitkannya dengan JS saya sendiri tetapi tidak berhasil.
Sunting 2: Ini sepertinya melakukan trik:
http://sumtips.com/2012/12/add-remove-tab-wordpress-3-5-media-upload-page.html
Itu harus dilakukan untuk hal-hal sederhana, tapi saya kira itu juga mungkin untuk melakukan hal yang sama di Javascript. Akan lebih baik jika ada tutorial / penjelasan tentang cara kerja internal manajer media baru.
media
media-library
erezie
sumber
sumber
Jawaban:
OK, saya pikir saya punya sesuatu yang sangat dekat untuk menjadi jawaban:
Saya memasukkan kode saya di intinya
Inilah hasilnya:
Saya membangun beberapa objek Backbone untuk menghormati pola MVC: yang
controller.Custom
bertanggung jawab melakukan semua logika,view.Toolbar.Custom
berurusan dengan tombol-tombol toolbar, danview.Custom
tampilan UI bagian dalam.sumber
//build an empty view (needs more work)
ke konten Jawaban.Saya sedang berupaya menambahkan tombol ke "menu router" (menambahkan sesuatu yang benar dari "Media Library"), tetapi sistemnya sama.
Sekarang, belum melakukan apa-apa. Itu langkah selanjutnya!
sumber
Anda dapat menghubungkan ke
media_upload_tabs
filter untuk menambahkan tab. Ini adalah metode yang digunakan oleh plugin Network Shared Media :Anda kemudian dapat menghubungkan ke
media_upload_tab_slug
tindakan (di manatab_slug
seperti yang digunakan di atas) untuk menampilkan konten tab:sumber
Saya tidak punya solusi, tetapi petunjuk. String didapat dari array. Anda dapat memfilter melalui kait
media_view_strings
. Kotak modal setelah klik adalah javascript, dibuat dengan backbone.js sejak WP 3.5. Lihat/wp-includes/js/media-views.js
solusi. Backbone juga baru bagi saya dan skrip memiliki banyak baris sumber.sumber
media.view.settings
js var dapat di-tweak oleh filter php untuk menambahkan tab baru, tetapi kemudian tab tersebut di-render melalui iframe (lihatcreateIframeStates
metode dimedia-views.js
).