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:
MySQL: How to add column to existing table
How to flush DNS cache in Linux / Windows / Mac
WordPress Plugin Dev: How to send email using SMTP?
Free Project Management software for Mac OS X - GanttProject
How to sync Google Calendar with Thunderbird
How to move Firefox tab bar to bottom
How to set out of office auto responder in Zimbra
Turn on MySQL query cache to speed up query performance?
Share this with your friends:-