WordPress 3.0 custom post type with upload

2019-06-25 13:38发布

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条回答
Animai°情兽
2楼-- · 2019-06-25 13:51

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.

查看更多
登录 后发表回答