[wp-testers] WXR Import can generate orphan postmeta entries

Dougal Campbell dougal at gunters.org
Mon Sep 8 13:01:05 GMT 2008


I added a new ticket with patch last night:
  http://trac.wordpress.org/ticket/7707

There is a bug in the duplicate post detection of the WordPress WXR 
importer. The creation of postmeta occurs outside of the if branch which 
detects whether a post is a duplicate. I assume that this is in order to 
attach additional metadata to the copy of the post already in the 
database (which could be due to re-starting a previously interrupted 
import). However, due to the way the code is structured, the $post_id 
variable is not set in this case, and so the postmeta entries are 
assigned to post_id=0 (zero).

The solution is to capture the post_id returned from the post_exists() 
function, and set the $post_id variable in the other branch of the 
duplicate post test.

The orphaned postmeta becomes a problem the next time you go to create a 
new post.

-- 
Dougal Campbell <dougal at gunters.org>
http://dougal.gunters.org/
I'm going to WordCamp Birmingham! Are you?



More information about the wp-testers mailing list