Wordpress - wp.media Javascript Object


Bismillah

wp.media adalah sebuah objek javascript yang wordpress gunakan untuk menampilkan upload modal di wordpress admin. Sebagai contoh, ketika kamu membuka New Post dan menekan tombol media, atau add featured image. Kamu bisa membuat semisal link add featured image dan menampilkan upload modal dalam wordpress sendiri dengan wp.media ini. Artikel ini, akan membahas bagaimana kamu membuatnya.

Cara paling mudah, kamu buka New Post atau New Page, kemudian buka browser console kamu. Disini, saya akan mengenalkan wp.media, bagaimana meng-eksekusinya, dan meng-handle file / gambar yang kamu pilih di upload modal tersebut.

Contoh

Yuk mulai menggunakan wp.media ! Saya anggap kamu sudah membuka browser console. Ketikkan kode dibawah ini, setelah itu saya akan mencoba menjelaskan apa yang terjadi.

var frame = wp.media({
  title: "Unggah Logo Kamu",
  button: {
    text: "Gunakan media ini"
  },
  multiple: false
})

Pertama, kita buat variable bernama frame. Assign wp.media di isi dengan properties yang di inginkan. Berikut properties wp.media yang saya masukkan dan keterangannya.

No. Property Deskripsi
1 title Sesuai nama, ini sebagai judul yang akan di tampilkan di kiri atas modal / frame yang muncul nanti
2 button Untuk override button dibawah, ketika kita telah selesai memilih image/file
3 multiple mau milih multiple image atau hanya satu saja? Karena di contoh, saya menggunakan wp.media untuk mengupload logo, maka cocoknya satu gambar saja.

Setelah selesai menulis kode ini, kamu akan dapati, bahwa belum terjadi apa apa. wp.media belum menampilkan modal / frame nya. Tenang, untuk menampilkannya, kamu hanya butuh mengetikkan frame.open(). Daaaan...

Handle Perubahan

Setelah memilih milih file / gambar dari modal / frame yang dibuat oleh wp.media, bagaimana caranya mendapatkan file/gambar yang saya pilih? Gunakan .on('select' callback) method dari iframe instance.

Perhatikan kode berikut

frame.on('select', function(){
  var attachment = frame.state().get('selection').first().toJSON()
  console.log(attachment)
});

perhatikan variable attachment diatas. Kita mengambil selection yang pertama, dan mengkonversi nya menjadi json objek.

Bila kamu ingin mengambil semua objek, atau mendapatkan array, maka gunakan .all sebagai ganti dari .first.

Kemudian, saya menuliskannya di terminal. Tapi kamu dapat idenya. Insya Alloh.

Penutup

Fuih, selesai sudah pembahasan tentang wp.media. Kamu dapat menggunakan wp.media untuk keperluan :

  • upload logo untuk website kamu
  • upload custom banner wordpress
  • menambahkan custom images di metabox
  • dan lain sebagainya

Bagaimana, sudah dapat ide untuk membuat apa?