/** * @param string $fileId id from $_FILES * @param bool $validateImage makes sure, it's an image * @return int attachment id of the uploaded item */ public static function uploadAttachment($fileId, $validateImage) { if (!function_exists('wp_generate_attachment_metadata')) { require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; } // Check for images, if needed, and return 0 if no image if ($validateImage) { $file = $_FILES[$fileId]; if (!File::isImage($file['name']) || !File::isImageMime($file['type'])) { return 0; } } // Run the update $result = media_handle_upload($fileId, 0); // Check for errors if ($result instanceof WP_Error) { return 0; } return intval($result); }