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:
PHP Fatal error: Class ‘DOMDocument’ not found in …
Speed Up and Save Your Website Bandwidth with GZip Compression
How to extract img tag attributes using PHP?
jQuery: disable autoscrolling to top when click on anchor
How to flush DNS cache in Linux / Windows / Mac
Common MySQL database maintenance command
MySQL: Full text search for multiple words
How to use apt to list available packages?
Share this with your friends:-