views:

38

answers:

1

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.

+1  A: 

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.

TheDeadMedic
That's it... Thank you!
TiuTalk
Any idea why, when I use your code, it tells me that add_meta_box is not defined. Is init too early to use this in my functions.php file?
gamerzfuse
Try `admin_init` instead?
TheDeadMedic