Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Belajar WordPress: Menambah Field Form Baru pada Halaman Add New Media

Posted on October 11, 2011

Sudah satu bulan ini saya fokus mengembangkan sebuah sistem informasi yang murni masuk dalam kerangka Framework WordPress. Salah satu bagian penting yang harus saya selesaikan pada pengembangan sistem kali ini adalah halaman upload file yang disertai dengan beberapa field baru, yaitu field kategori dokumen dalam bentuk combobox dan field kode dokumen dalam bentuk text box.

Saya tidak ingin mengembangkan sendiri halaman tersebut karena akan jadi tidak efisien, WordPress telah memiliki sendiri halaman upload file yang sudah matang dengan kemampuan Upload berbasis flash dan html berikut skema penyimpanannya yang bagus. Solusi yang saya temukan, kita harus melakukan filtering pada halaman tersebut guna menambahkan dua field baru. Function yang harus difilter kali ini attachment_fields_to_edit dan attachment_fields_to_save.

Berikut implementasi riilnya:

[sourcecode language=”php”]
function wpbpm_add_customfield_kategori_dokumeniso($form_fields, $post) {

if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="1"){ $selected1 = ‘selected="selected"’; }
if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="2"){ $selected2 = ‘selected="selected"’; }
if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="3"){ $selected3 = ‘selected="selected"’; }
if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="4"){ $selected4 = ‘selected="selected"’; }
if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="5"){ $selected5 = ‘selected="selected"’; }
if(get_post_meta($post->ID, "_dokumeniso_cat", true)=="6"){ $selected6 = ‘selected="selected"’; }

$html = ‘

<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value=""> — Pilih — </option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="1">Instruksi Kerja (IK)</option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="2">Kebijakan Mutu (KM)</option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="3">Manual Mutu (MM)</option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="4">Prosedur Mutu (PM)</option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="5">Rencana Mutu (RM)</option></select>
<select name="attachments[‘.$post->ID.’][wpbpm_dokumeniso_cat]"> <option value="6">Sasaran Mutu (SM)</option></select>

‘;

$form_fields["wpbpm_dokumeniso_cat"] = array(
"label" => __("Kategori Dokumen ISO"),
"input" => "html", // this is default if "input" is omitted
"html" => $html,
"value" => get_post_meta($post->ID, "_dokumeniso_cat", true),
"helps" => __("Pilih salah satu kategori dokumen ISO untuk dokumen ini.")
);

$form_fields["wpbpm_dokumeniso_kode"] = array(
"label" => __("Kode Dokumen ISO"),
"input" => "text",
"value" => get_post_meta($post->ID, "_dokumeniso_kode",true),
"help" => __("Isikan kode dokumen ISO.")
);
return $form_fields;
}

// now attach our function to the hook
add_filter("attachment_fields_to_edit", "wpbpm_add_customfield_kategori_dokumeniso", null, 2);
[/sourcecode]

Skrip diatas, tuliskan dalam file function theme anda atau pada salah satu plugin yang anda kembangkan. Fungsi tersebut akan menambahkan fied berupa combo box dan text box pada field edit properties file yang diupload via halaman upload bawaan milik WordPress. Untuk fungsi penyimpanannya, silakan lihat skrip berikut:

[sourcecode language=”php”]
function wpbpm_save_customfield_kategori_dokumeniso($post, $attachment) {
// $attachment part of the form $_POST ($_POST[attachments][postID])
// $post[‘post_type’] == ‘attachment’
if( isset($attachment[‘wpbpm_dokumeniso_cat’]) ){
// update_post_meta(postID, meta_key, meta_value);
update_post_meta($post[‘ID’], ‘_dokumeniso_cat’, $attachment[‘wpbpm_dokumeniso_cat’]);
}

if( isset($attachment[‘wpbpm_dokumeniso_kode’]) ){
// update_post_meta(postID, meta_key, meta_value);
update_post_meta($post[‘ID’], ‘_dokumeniso_kode’, $attachment[‘wpbpm_dokumeniso_kode’]);
}
return $post;
}
// now attach our function to the hook.
add_filter("attachment_fields_to_save", "wpbpm_save_customfield_kategori_dokumeniso", null , 2);
[/sourcecode]

Dengan solusi ini, setiap file attachment yang kita unggah akan memiliki dua metadata tambahan yaitu _dokumeniso_cat dan _dokumeniso_kode, dan dapat kita olah lebih lanjut dalam halaman lain.

Screenshootnya:

Terbaru

  • Cara Memperbaiki Email Outlook yang Hilang atau Tidak Muncul
  • Cara Menemukan Username dan Password di Windows 11
  • Cara Mengatasi Error Virtualbox not detecting Graphics Card di Windows 11
  • Cara Mengatasi Error Windows MFReadWrite.dll not found or missing
  • Cara Membuat Formulir Menggunakan Zoho Form
  • Pemerintah Ganti Ujian Kesetaraan Dengan TKA 2025
  • Ini Perbedaan TKA vs Ujian Nasional: TKA Lebih Sakti?
  • Daftar TKA Tutup 5 Oktober: Sudah 3.3 Juta Yang Daftar
  • Review Aplikasi ClipClaps: Penipuan atau Tidak?
  • Review Aplikasi Wibuku: Alternatif Nonton Anime Gratis untuk Para Wibu Indonesia!
  • Inilah Alat dan Software Phone Farming dengan Samsung Galaxy J7 Prime
  • Cara Cek Paket Internet Telkomsel Kena Pembatasan/Throttling Atau Tidak
  • Cara Mengatasi YMusic APK Error Tidak Bisa Dibuka
  • Cara Memblokir Akun Teman di Mobile Legend: Panduan Lengkap
  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025
  • WhatsApp Tiba-tiba Keluar dan Meminta Verifikasi: Apa yang Harus Dilakukan?
  • Bisakah Saldo BNI Kamu Nol? Fakta dan Cara Mengatasinya
  • Inilah Tanda-tanda Chat Audio di Grup WhatsApp Sudah Disadap
  • Cara Mengatasi Tidak Bisa Live Instagram Karena Tidak Memenuhi Syarat
  • 7 Spek Laptop yang Ideal untuk Coding & Ngoding Web/App
  • Keuntungan dan Kerugian Menggunakan PayPal: Panduan Lengkap
  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Mengganti Nomor TikTok yang Tidak Aktif atau Hilang Tanpa Verifikasi
  • Cara Menggunakan BCA PayLater Terbaru 2025
  • Cara Mendapatkan IMPoint Indosat IM3 Ooredoo Gratis via MyIM3
  • Apa Arti TikTok ‘Shared With You’?
  • Cara Menghapus Data KTP di Pinjol: Panduan Lengkap
  • Cara Memperbaiki Email Outlook yang Hilang atau Tidak Muncul
  • Cara Menemukan Username dan Password di Windows 11
  • Cara Mengatasi Error Virtualbox not detecting Graphics Card di Windows 11

©2025 emka.web.id | Design: Newspaperly WordPress Theme