Skip to content

Instantly share code, notes, and snippets.

@gioiliop7
Created January 5, 2023 15:49
Show Gist options
  • Save gioiliop7/a9dca5fb3b841a3545ad1b23ca9a3a6a to your computer and use it in GitHub Desktop.
Save gioiliop7/a9dca5fb3b841a3545ad1b23ca9a3a6a to your computer and use it in GitHub Desktop.
[PHP][WORDPRESS] Upload files from external url to media gallery
<?php
function uploadToAttachmentsFromURL($url)
{
$upload_dir = wp_upload_dir();
$image_data = file_get_contents($url);
$filename = basename($url);
if (wp_mkdir_p($upload_dir['path'])) {
$file = $upload_dir['path'] . '/' . $filename;
} else {
$file = $upload_dir['basedir'] . '/' . $filename;
}
file_put_contents($file, $image_data);
$wp_filetype = wp_check_filetype($filename, null);
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment($attachment, $file);
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata($attach_id, $file);
wp_update_attachment_metadata($attach_id, $attach_data);
return $attach_id;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment