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

  • Bebong: Makna, Asal Usul, dan Penggunaan dalam Bahasa Indonesia
  • Spinjam dan Spaylater: Apa yang Terjadi Jika Terlambat Membayar dan Bisakah Meminjam Lagi?
  • Cara Download dan Menonton Dood Stream Tanpa Iklan – Doods Pro
  • Cara Menghentikan dan Mengatasi Pinjol Ilegal
  • Kode Bank BRI untuk Transfer ke PayPal
  • Cara Menyadap WhatsApp Tanpa Aplikasi dan Kode QR
  • Apa yang Terjadi Jika Telat Bayar Shopee PayLater?
  • Telat Bayar Listrik 1 Hari: Apa yang Terjadi?
  • Cara Mengunduh Foto Profil WhatsApp Teman di Android, iPhone, dan PC/Mac
  • Rekomendasi Aplikasi Edit Foto Ringan Terbaik untuk PC Windows dan macOS
  • Cara Membeli Diamond Mobile Legends Menggunakan Pulsa Telkomsel
  • Tutorial Menggunakan Aplikasi Dana: Cara Top Up Dana dengan Mudah, Cepat, dan Murah untuk Pemula
  • Website Konverter YouTube ke MP3 Terbaik 2025
  • Cara Mengatasi Otorisasi Kadaluarsa Higgs Domino Tanpa Login Facebook
  • Tips Main E-Football 2024: Strategi Pemilihan Tim dan Pemain Terbaik
  • DramaQ: Situs Nonton Drakor Sub Indo Terbaru dan Lengkap
  • IGLookup: Cara Download APK dan Informasi Lengkap
  • Cara Daftar DrakorID? Apakah DrakorID Streaming Penipu/Ilegal?
  • Cara Login, Register, dan Transfer Data MyKONAMI
  • Website PT Melia Sehat Sejahtera Apakah Penipuan?
  • Alternatif APK Bling2: Alternatif Stylish untuk Ekspresi Diri
  • Contoh Bio IG Keren
  • Apa Arti Best Combo? Definisi dan Contoh Penggunaannya
  • Rakettv 2: Live Streaming Bola & Olahraga Lengkap Gratis (APK & Blog)
  • Apa itu Website SugarDaddy.com? Hati-hati Ilegal!
  • Apa Itu Pekerjaan Clipper Tiktok?
  • Mengenal Situs tiktoklikesgenerator.com
  • Apa itu Ovil App Studio?
  • jimpl.com: Alat Online Gratis untuk Melihat Metadata dan Data EXIF Foto
  • Kenapa Chromebook Tak Populer di Indonesia?
  • Bebong: Makna, Asal Usul, dan Penggunaan dalam Bahasa Indonesia
  • Spinjam dan Spaylater: Apa yang Terjadi Jika Terlambat Membayar dan Bisakah Meminjam Lagi?
  • Cara Download dan Menonton Dood Stream Tanpa Iklan – Doods Pro

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