Upload File Pada WordPress Post Page

Pada kebanyakan kasus penggunaan file upload pada kustomisasi wordpress. Umumnya, implementasi yang digunakan adalah dengan memanfaatkan fungsi upload file built-in pada halaman admin wordpress.

Namun, pada orang-orang yang awan akan penggunaan wordpress maupun komputer itu sendiri, panjangnya step yang harus dilakukan akan dirasa menyulitkan. Nah, saya ada kasus dimana saya perlu melakukan upload file di halaman post wordpress, dimana proses tersebut harus sama dengan cara upload yang dilakukan pada halaman serupa, tapi berada di luar halaman admin. Pada halaman tersebut, cara upload yang dilakukan serupa seperti proses upload pada kebanyakan website. Yaitu, dengan menggunakan <input type="file"> dan form submit dengan enctype="multipart/form-data". Proses ini mudah, karena kita bisa mengutak-atik kode form sesuka hati.

Yang menjadi masalah adalah, untuk mereplikasi proses tersebut di sisi admin, tidak mudah (tadinya, di bawah saya beri triknya 😉 ). Karena, halaman add/edit post pada wordpress, kode form-nya tidak menyertakan enctype="multipart/form-data" yang mana, merupakan bagian penting pada feature upload file. Cara untuk mengakali ini ternyata saaaaaaaaangat mudah. Yaitu? Hehehe. kita butuh enctype kan, ya kita inject saja ;). Kita pakai saja jQuery bawaan wordpress, yang sudah pasti terload di halaman admin. Lalu, di file plugin atau functions.php (tergantung cara anda meng-extend wordpress ) tambahkan kode sebagai berikut:

add_action('admin_head', 'inject_form_enctype');
function inject_form_enctype()
{
?>
<script type='text/javascript' language='javascript'>
jQuery(document).ready(function(){
	jQuery('#post').attr('enctype', 'multipart/form-data');
});
</script>
<?php
}

Maka anda sudah bisa melakukan file upload pada halaman admin. Solusi yang cukup sederhana.

Author: Arief Bayu Purwanto

Hello, my name is Arief Bayu Purwanto, a 24 years old father of a beautiful daughter. Interested in online programming, linux, games, and reading. Currently working on kapanlagi.com as junior developer. I live in a relatively quite and cool place called Malang. I'm available for some freelance stuff as well as some consulting job. You can see my portofolio for some previous task I've finished and some other information related to my capability. Btw, I'm plurking here.