Just 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
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;
Related posts:
Bootstrap 3: Responsive image align center
SVN: How to commit only modified files via command line
MySQL: How to add column to existing table
How to extract img tag attributes using PHP?
How to remove newline character in PHP
Free image editor for Mac OS X / XP / Vista / Linux
Common MySQL database maintenance command
How to insert new line (line break) in a cell - OpenOffice Calc
Share this with your friends:-