如果有人需要,以下是我的解决方案:
if ($_FILES) {
function insert_attachment($file_handler, $post_id, $setthumb = \'false\') {
if ($_FILES[$file_handler][\'error\'] !== UPLOAD_ERR_OK) __return_false();
require_once(ABSPATH . "wp-admin" . \'/includes/image.php\');
require_once(ABSPATH . "wp-admin" . \'/includes/file.php\');
require_once(ABSPATH . "wp-admin" . \'/includes/media.php\');
$attach_id = media_handle_upload( $file_handler, $post_id );
//get url
$attachment_url = wp_get_attachment_url($attach_id);
add_post_meta($post_id, \'_file_paths\', $attachment_url);
$attachment_data = array(
\'ID\' => $attach_id
);
wp_update_post($attachment_data);
if ($setthumb) update_post_meta($post_id, \'_thumbnail_id\', $attach_id);
return $attach_id;
}
foreach ($_FILES as $file => $array) {
$newupload = insert_attachment($file, $pid);
//getting the url for the new upload
$attachment_url = wp_get_attachment_url($newupload);
}
}