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.

wordpress-upload-image-script

How to upload image using script in WordPress

Advertisements

  • 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;
    		continue;
    	}
    
    	$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 );	
    
    endforeach;
    
    



Share this with your friends:-

Leave a Reply