Skip to content

Instantly share code, notes, and snippets.

@jrgd
Forked from hissy/gist:7352933
Last active March 27, 2018 20:35
Show Gist options
  • Save jrgd/d99929e88ba059ea0cb7efad575cf3e4 to your computer and use it in GitHub Desktop.
Save jrgd/d99929e88ba059ea0cb7efad575cf3e4 to your computer and use it in GitHub Desktop.
[WordPress] Add file to media library programmatically
function upload_image($file_name, $parent_post_id) {
$file = './img/'.$file_name;
$filename = basename($file);
$upload_file = wp_upload_bits($filename, null, file_get_contents($file));
if (!$upload_file['error']) {
$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_parent' => $parent_post_id,
'post_title' => preg_replace('/\.[^.]+$/', '', $filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attachment_id = wp_insert_attachment( $attachment, $upload_file['file'], $parent_post_id );
if (!is_wp_error($attachment_id)) {
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload_file['file'] );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
}
// SET AS "FEATURED IMAGE" _\|/_
set_post_thumbnail($parent_post_id, $attachment_id);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment