Tribe_Meta_Box::save_field_file( $post_id, $field, $old, $new )
Source
File: lib/tribe-meta-box.php
public function save_field_file( $post_id, $field, $old, $new ) {
$name = $field['meta'];
if ( empty( $_FILES[ $name ] ) ) {
return;
}
self::fix_file_array( $_FILES[ $name ] );
foreach ( $_FILES[ $name ] as $position => $fileitem ) {
$file = wp_handle_upload( $fileitem, array( 'test_form' => false ) );
if ( empty( $file['file'] ) ){
continue;
}
$filename = $file['file'];
$attachment = array(
'post_mime_type' => $file['type'],
'guid' => $file['url'],
'post_parent' => $post_id,
'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
'post_content' => '',
);
$id = wp_insert_attachment( $attachment, $filename, $post_id );
if ( ! is_wp_error( $id ) ) {
wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $filename ) );
add_post_meta( $post_id, $name, $id, false ); // save file's url in meta fields
}
}
}