Saya adalah pengembang plugin Bidang Khusus Lanjutan dan saya berharap Anda dapat membantu saya mengatasi masalah yang saya hadapi.
Saya memiliki tombol untuk mengedit gambar. Tombol ini akan meluncurkan modal media WP 3.5 melalui fungsi wp_media ().
Masalahnya adalah saya ingin memilih dulu gambar sehingga detailnya dimuat di panel sidebar.
Saat ini saya menghubungkan ke callback 'terbuka' dan menjalankan beberapa kode yang mengisi seleksi ini, bagaimanapun, itu kikuk dan efisien. Seperti inilah tampilannya:
// _media is an object I am using
_media.frame = wp.media({
title : 'title',
multiple : false,
button : { text : 'button' }
});
// open
_media.frame.on('open',function() {
// add class
_media.frame.$el.closest('.media-modal').addClass('acf-media-modal acf-expanded');
// set selection
var selection = _media.frame.state().get('selection'),
attachment = wp.media.attachment( id );
attachment.fetch();
selection.add( attachment );
});
// Finally, open the modal
_media.frame.open();
Ini berfungsi dengan baik, sampai pengguna membuka jendela modal lain, memilih tab unggah, lalu menggunakan tombol edit yang telah saya buat. Sekarang kode gagal sepenuhnya karena kode saya bergantung pada modal yang berada dalam mode 'browse'.
Saya menemukan beberapa kode yang akan menukar frame ke mode browse, terlihat seperti ini:
_media.frame.content.mode('browse');
Ini berfungsi beberapa saat, tetapi kemudian kode berikut gagal. Seperti itu butuh waktu untuk membuat sebelum lampiran dapat ditambahkan ke pilihan ....
Tentunya ada cara yang lebih baik.
Terima kasih atas bantuan Anda. Elliot
Jawaban:
Ini skripnya:
Saya menggunakan fungsi
loadImages
dalam skrip berikut untuk memuat gambar terlampir yang ada melalui AJAX dan kemudian hanya lulus fungsi dengan ID gambar dan membuka modal pra-populasi.Dan di sini adalah fungsi php yang menangani permintaan AJAX:
Saya baru saja menyalin cuplikan dari kerangka WordPress saya, semoga masuk akal.
sumber