Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WordPress 3.0 custom post type with upload

Is there a way to insert one (or more) upload field on a custom post type edition page?

I don't want to use the midia gallery with all the fields and stuff.

like image 673
Thiago Belem Avatar asked Feb 26 '23 16:02

Thiago Belem


1 Answers

This is a fairly basic example, but it should get you on your way;

function my_upload_field()
{
    echo '<input type="file" name="my_upload_field" />';
}
add_action('init', create_function('',
    'add_meta_box("my_upload_field", "Upload File", "my_upload_field", "post");'));

function handle_upload_field($post_ID, $post)
{
    if (!empty($_FILES['my_upload_field']['name'])) {
        $upload = wp_handle_upload($_FILES['my_upload_field']);
        if (!isset($upload['error'])) {
            // no errors, do what you like
        }
    }
}
add_action('wp_insert_post', 'handle_upload_field', 10, 2);

Check out the codex on add_meta_box, and take a look at wp_handle_upload() (line 239 wp-admin/includes/file.php as of 3.0) for more information.

like image 96
TheDeadMedic Avatar answered Mar 05 '23 14:03

TheDeadMedic