$id=wp_insert_post($my_post);
$filename = $resim;
          $wp_filetype = wp_check_filetype(basename($filename), null ); 
  $wp_upload_dir = wp_upload_dir(); 
  $attachment = array( 
     'guid' => $wp_upload_dir['baseurl'] . _wp_relative_upload_path( $filename ),  
     'post_mime_type' => $wp_filetype['type'], 
     'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)), 
     'post_content' => '', 
     'post_status' => 'inherit' 
  ); 
  $attach_id = wp_insert_attachment( $attachment, $filename, $id); 
  // you must first include the image.php file 
  // for the function wp_generate_attachment_metadata() to work 
  require_once(ABSPATH . 'wp-admin/includes/image.php'); 
  $attach_data = wp_generate_attachment_metadata( $attach_id, $filename ); 
  wp_update_attachment_metadata( $attach_id, $attachment );  
  add_post_meta($id, '_thumbnail_id', $attach_id);
şeklinde dener misin.