-
-
Save NandoKstroNet/10290851 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Handle file uploading and add attachment. | |
* | |
* @return array Uploaded file's details on success, error message on failure | |
*/ | |
function wp_import_handle_upload() { | |
if ( !isset($_FILES['filefield_name']) ) { | |
$file['error'] = __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' ); | |
return $file; | |
} | |
$overrides = array( 'test_form' => false, 'test_type' => true ); | |
$file = wp_handle_upload( $_FILES['filefield_name'], $overrides ); | |
if ( isset( $file['error'] ) ) | |
return $file; | |
$url = $file['url']; | |
$type = $file['type']; | |
$file = $file['file']; | |
$filename = basename( $file ); | |
// Construct the object array | |
$object = array( | |
'post_title' => $filename, | |
'post_content' => $url, | |
'post_mime_type' => $type, | |
'guid' => $url, | |
'context' => 'import', | |
'post_status' => 'private' | |
); | |
// Save the data | |
$id = wp_insert_attachment( $object, $file ); | |
// schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call | |
wp_schedule_single_event( time() + 86400, 'importer_scheduled_cleanup', array( $id ) ); | |
return array( 'file' => $file, 'id' => $id ); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment