Saya ingin tahu apakah mungkin untuk memperluas metode api
objek anonim di wp-admin/js/customize-control.js
. Saya perlu menimpa salah satu metode ini dengan logika kustom saya sendiri tetapi saya menduga itu tidak mungkin karena dibungkus dengan ekspresi fungsi yang langsung dipanggil:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Sejauh yang saya lihat, saya tidak dapat memperpanjang prototipe dari objek window karena dieksekusi secara anonim dan tidak tersedia window.wp.customize
. Adakah yang tahu jika hal seperti itu mungkin? Bahkan ada disebutkan menimpa ini dalam .toggle () metode dokumentasi / deskripsi: https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , tapi saya Saya tidak yakin apakah maksudnya hanya dengan mem-forking seluruh file JS, menghapus versi WP dan membuat versi Anda sendiri atau jika mereka bermaksud atau sesuatu yang berbeda.
Perhatikan bahwa sepertinya harus dimungkinkan dengan wp.customize.{method}.extend({ foo: // replace method foo here })
tetapi itu hanya berlaku untuk kelas / objek basis publik, bukan yang ada diwp-admin/js/customize-control.js
api
anonim, ini hanya sinonim untukwp.customize
(lihat baris 3) yang dapat diakses secara global. Namun sepertinya Model Obyek Lain yang digunakan untuk kontrol memanggilready
fungsiinitialize
sehingga seseorang mungkin tidak mendapatkan kesempatan (yaitu selalu terlambat) untuk menimpa metode - apa yang ingin Anda perpanjang?wp.customize
dan menambahkan fungsi ke objek ini. lihat di sini untuk contoh sumber - github.com/bueltge/Documentation/blob/master/js/…Jawaban:
Saya akan meningkatkan komentar kecil saya pada pertanyaan Anda. Tapi sekali lagi petunjuknya; Saya bukan ahli JS. Sumber ikuti, petunjuk hanya digunakan untuk bermain dengan Customizer untuk berbagai pemeriksaan, contoh, seperti kotak pasir saya .
wp.customize
Memahami antarmuka penyesuai tema WP berpusat pada memahami objek javascript wp.customize. The
wp.customize
objek adalah penting dan Anda harus meletakkannya di awal.Contoh Langsung
Contoh kecil berikut menunjukkan ini. Pada awalnya saya mengatur var
api
ke objek penyesuai. Setelah ini, saya mengatur bidang khusus saya keapi
dan meningkatkannya dengan sumber jQuery kecil untuk menyegarkan hasil untuk pratinjau langsung.Pengaturan dan Kontrol
Objek kontrol disimpan
wp.customize.control
dan objek pengaturan disimpanwp.customize
. Kelas nilai memiliki banyak fungsi, di sana dapat membantu Anda.Pengaturan khusus
Dengan fungsi ini, kami dapat meningkatkan pengaturan khusus kami.
juga dapat digunakan untuk sebuah array
Dapatkan
Lihat hasilnya di konsol.
Set
Anda juga dapat mengubah nilai pengaturan melalui fungsi
set
.Dapatkan dengan kontrol, sebagai objek
Sumber Bermanfaat
sumber