SergeyBiryukov

[Auto Post Thumbnail] Fix uploaded thumbnails

Jul 1st, 2012
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.17 KB | None | 0 0
  1. <?php
  2. // Based on Neil Paterson's code:
  3. // http://www.clickthrough-marketing.com/how-to-fix-auto-post-thumbnail-on-wordpress-3.4-seo-friendly-800610805/
  4.  
  5. ob_implicit_flush( 1 );
  6. require_once( 'wp-load.php' );
  7. echo 'Working... ';
  8.  
  9. $sql = "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' ORDER BY post_id DESC";
  10.  
  11. $posts = $wpdb->get_results( $sql );
  12. foreach ( (array) $posts as $post ) {
  13.     $sql = $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = '_wp_attached_file'", $post->meta_value );
  14.     $check = $wpdb->get_results( $sql );
  15.     if ( count( $check ) )
  16.         continue; // We've already done this one...
  17.  
  18.     $sql = $wpdb->prepare( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = '_wp_attachment_metadata'", $post->meta_value );
  19.     $thumb = $wpdb->get_results( $sql );
  20.     if ( ! empty( $thumb ) )
  21.         $data = unserialize( $thumb[0]->meta_value );
  22.     if ( ! isset( $data['file'] ) )
  23.         continue;
  24.  
  25.     $sql = $wpdb->prepare( "INSERT INTO $wpdb->postmeta SET post_id = %d, meta_key = '_wp_attached_file', meta_value = %s", $post->meta_value, $data['file'] );
  26.     $wpdb->query( $sql );
  27. }
  28.  
  29. echo 'Done!';
  30. ?>
Advertisement
Add Comment
Please, Sign In to add comment