Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • 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

  • Apa itu Negara Somaliland? Apa Hubungannya dengan Israel?
  • Apa itu Game TheoTown? Game Simulasi Jadi Diktator
  • Inilah Rekomendasi 4 HP Honor Terbaik – Prosesor Snapdragon Tahun 2026
  • Lagi Nyari HP Gaming Murah? Inilah 4 HP Asus RAM 8 GB yang Recomended
  • Ini Trik Main Game Merge Cats Road Trip Sampai Tarik Saldo ke DANA
  • Mau Jadi Digital Writer Pro? Ini Caranya Buat Portofolio Pakai Blog!
  • Ini Cara Login Banyak Akun FB & IG di Satu HP Tanpa Diblokir!
  • Inilah Cara Mengatasi Verval Siswa Silang Merah di RDM versi Hosting
  • HP Tertinggal? Inilah Caranya Login PDUM Langsung dari Laptop, Lebih Praktis!
  • Inilah Cara Tarik Dana dari APK Drama Rush
  • Inilah Cara Mudah Tarik Uang Kertas Biru di Merge Cats ke DANA dan OVO Tanpa Ribet!
  • Apakah Aplikasi Pinjaman KlikKami Penipu? Ada DC Penagih?
  • Kenapa Tentara Romawi Hanya Pakai Armor Kaki Saja?
  • Inilah Alasan Kenapa Beli Follower IG itu TIDAK AMAN!
  • EPIK! Kisah Mesin Bor Tercanggih Takluk di Proyek Terowongan Zojila Himalaya
  • Bingung Cari Lokasi Seseorang? Cek Cara Melacak Pemilik Nomor HP Tanpa Bayar Ini, Dijamin Akurat!
  • Apa itu Logis? Kenapa Logika Bisa Berbeda-beda?
  • Ini Alasan Kenapa Fitur Bing AI Sedang Trending dan Dicari Banyak Orang
  • Sejarah Kerajaan Champa: Bangsa Yang Hilang Tanpa Perang Besar, Kok Bisa?
  • Gini Caranya Dapat Weekly Diamond Pass Gratis di Event M7 Pesta, Ternyata Nggak Pake Modal!
  • Inilah Trik Rahasia Panen Token dan Skin Gratis di Event Pesta Cuan M7 Mobile Legends!
  • Apakah Apk Pinjaman Cepat Galaxy Pinjol Penipu?
  • Cara Tarik Saldo APK Game Clear Blast
  • Apakah APK Game Clear Blast Penipu? Ini Reviewnya
  • Inilah Perbedaan SEO dan GEO + Tips Konten Disukai Google dan AI!
  • Inilah Cara Download Video TikTok 2026 Tanpa Watermark
  • Belum Tahu? Ini Trik Nonton Doods Pro Bebas Iklan dan Cara Downloadnya
  • Misteri DNA Spanyol Terungkap: Jauh Lebih Tua dari Romawi dan Moor!
  • Kenapa Belut Listrik itu Sangat Mematikan
  • Apa itu Tesso Nilo dan Kronologi Konflik Taman Nasional
  • Tailwind’s Revenue Down 80%: Is AI Killing Open Source?
  • Building Open Cloud with Apache CloudStack
  • TOP 1% AI Coding: 5 Practical Techniques to Code Like a Pro
  • Why Your Self-Hosted n8n Instance Might Be a Ticking Time Bomb
  • CES 2026: Real Botics Wants to Be Your Best Friend, but at $95k, Are They Worth the Hype?
  • Inilah Cara Menguasai Tracing dan Evaluasi Aplikasi LLM Menggunakan LangSmith
  • Begini Cara Menggabungkan LLM, RAG, dan AI Agent untuk Membuat Sistem Cerdas
  • Cara Buat Sistem Moderasi Konten Cerdas dengan GPT-OSS-Safeguard
  • Inilah Cara Membuat Aplikasi Web Full-Stack Tanpa Coding dengan Manus 1.5
  • Inilah Cara Melatih AI Agent Agar Bisa Belajar Sendiri Menggunakan Microsoft Agent Lightning
  • Ini Kronologi & Resiko Kebocoran Data WIRED
  • Apa itu Grubhub Crypto Scam? Ini Pengertian dan Kronologi Penipuan yang Catut Nama Grubhub
  • Apa Itu CVE-2025-59374? Mengenal Celah Keamanan ASUS Live Update yang Viral Lagi
  • Apa itu RansomHouse Mario? Ini Pengertian dan Mengenal Versi Baru ‘Mario’ yang Makin Bahaya
  • Inilah Risiko Fatal yang Mengintai Kreator OnlyFans, Dari Doxxing sampai Penipuan!
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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