假设您的文件变量名为“files”,可以包含多个输入(即name=“files[]”)
1) 首先上传文件
$uploads = wp_upload_dir();
  $upload_file_url = array();
  foreach ($_FILES[\'files\'][\'name\'] as $key => $value_data)
    {
        $errors_founds = \'\';
        if ($_FILES[\'files\'][\'error\'][$key] != UPLOAD_ERR_OK)
            $errors_founds .= \'Error uploading the file!<br />\';
        if (!array_key_exists($_FILES[\'files\'][\'type\'][$key], $mime))
            $errors_founds .= \'Invalid file type!<br />\';
        if ($_FILES[\'files\'][\'size\'][$key] == 0)
            $errors_founds .= \'Image file it\\\'s empty!<br />\';
        if ($_FILES[\'files\'][\'size\'][$key] > 524288)
            $errors_founds .= \'Image file to large, maximus size is 500Kb!<br />\';
        if(!is_uploaded_file($_FILES[\'files\'][\'tmp_name\'][$key]))
             $errors_founds .= \'Error uploading the file on the server!<br />\';
        if ($errors_founds == \'\')
            {
                //Sanitize the filename (See note below)
                $remove_these = array(\' \',\'`\',\'"\',\'\\\'\',\'\\\\\',\'/\');
                $newname = str_replace($remove_these,\'\', $_FILES[\'files\'][\'name\'][$key]);
                //Make the filename unique
                $newname = time().\'-\'.$newname;
                //Save the uploaded the file to another location
                $upload_path = $uploads[\'path\'] . "/$newname";
                move_uploaded_file($_FILES[\'files\'][\'tmp_name\'][$key], $upload_path);
                $upload_files_url[$upload_path] = $uploads[\'url\'] ."/$newname";
            }
    }
 2)处理成功上传的文件
if (count($upload_files_url)  > 0)
    {
        foreach ($upload_files_url as $filename_path => $upload_file_url)
            {
                $wp_filetype = wp_check_filetype(basename($filename_path), null );
            $attachment = array(
                                \'post_mime_type\' => $wp_filetype[\'type\'],
                                \'post_title\' => preg_replace(\'/\\.[^.]+$/\', \'\', basename($filename_path)),
                                \'post_content\' => \'\',
                                \'post_status\' => \'inherit\'
                                );
            $attach_id = wp_insert_attachment( $attachment, $filename_path);
            // you must first include the image.php file
            // for the function wp_generate_attachment_metadata() to work
            require_once(ABSPATH . \'wp-admin/includes/image.php\');
            $attach_data = wp_generate_attachment_metadata( $attach_id, $filename_path );
            wp_update_attachment_metadata( $attach_id, $attach_data );
            }
    }