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:
Cynogenmod: No Vibration when Receiving SMS
How to check if directory exists in Bash script
PHP Programming: The difference between require() and include()
PHP Fatal error: Class ‘DOMDocument’ not found in …
How to print screen in Asus Zenfone 6
How to strtolower an array in PHP?
How to insert new line (line break) in a cell - OpenOffice Calc
Debian: "There is no public key available for the following key IDs"
Share this with your friends:-