Jika Anda berbicara tentang jawaban yang saya posting di sini
, cukup unggah file dalam iframe untuk mencapai "Ajax like".
Sekarang jika Anda sudah memiliki formulir yang menangani pengiriman kiriman, Anda cukup menambahkan input bidang file unggahan di suatu tempat di formulir Anda:
<form ...
...
<input type="file" name="thumbnail" id="thumbnail">
...
...
</form>
pastikan formulir Anda memiliki enctype="multipart/form-data"
atribut.
kemudian di skrip pemrosesan formulir Anda setelah Anda membuat posting (dengan asumsi bahwa Anda menggunakan wp_insert_post();
) tetap memegang ID posting di var baru:
$new_post = wp_insert_post($post_array);
dan setelah itu tambahkan:
if (!function_exists('wp_generate_attachment_metadata')){
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
if ($_FILES) {
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
return "upload error : " . $_FILES[$file]['error'];
}
$attach_id = media_handle_upload( $file, $new_post );
}
}
if ($attach_id > 0){
//and if you want to set that image as Post then use:
update_post_meta($new_post,'_thumbnail_id',$attach_id);
}
dan gambar Anda akan diunggah dan disimpan sebagai gambar mini pos.
$pid = wp_insert_post($new_post);
Markup HTML:
Mengunggah gambar:
sumber