WordPress: How to upload image using script?

wordpressJust migrated an old site to WordPress. This old website contain more than 1200 images and if i migrate manually it will take a long time. So i wrote two script, first to extract all the images and it’s description from the old website to a file. And second script is a WordPress plugin script to upload the image to it’s page and set the image caption (useful for gallery and lightbox description) according to the old website description automatically.


How to upload image using script in WordPress


  • Here’s my sample code for upload image using script in WordPress.
    // i'm reading a file that with the pattern below:-
    // Post_ID will be at line 1
    // Image URL 1||image description 1
    // Image URL 2||image description 2
    // ...
    $data = file_get_contents(plugin_dir_path(__FILE__) . '/mydatafile.txt');
    $lines = explode("\r", $data);
    $post_id = '';
    // loop thru all the lines in the file
    foreach($lines as $i => $line) :
    	// set the post_id if it's first line
    	if($i == 0) {
    		$post_id  = (int) $line;
    	$tmp = explode('||', $line);
    	$file_array['name'] = $tmp[1];
    	$file_array['tmp_name'] = $tmp[0];
    	$attachment_id = media_handle_sideload( $file_array, $post_id, $desc );
    	// If error in storing the image
    	if ( is_wp_error($attachment_id) ) {
    		return $attachment_id;
    	// Once upload done, we set the attachment caption as the image description
    	$new_caption = array('ID' => $attachment_id, 'post_excerpt' => $desc);
    	wp_update_post( $new_caption );	

Share this with your friends:-

Leave a Reply