Save parent temp ID for unattached attachments in postmeta. Props scribu. fixes #9471

git-svn-id: http://svn.automattic.com/wordpress/trunk@12298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2009-11-30 21:41:52 +00:00
parent 8f3af1eb02
commit 97bf1f11bd
2 changed files with 14 additions and 1 deletions

View File

@ -773,7 +773,17 @@ function _relocate_children( $old_ID, $new_ID ) {
global $wpdb;
$old_ID = (int) $old_ID;
$new_ID = (int) $new_ID;
return $wpdb->update($wpdb->posts, array('post_parent' => $new_ID), array('post_parent' => $old_ID) );
$children = $wpdb->get_col( $wpdb->prepare("
SELECT post_id
FROM $wpdb->postmeta
WHERE meta_key = '_wp_attachment_temp_parent'
AND meta_value = %d", $old_ID) );
foreach ( $children as $child_id ) {
$wpdb->update($wpdb->posts, array('post_parent' => $new_ID), array('ID' => $child_id) );
delete_post_meta($child_id, '_wp_attachment_temp_parent');
}
}
/**

View File

@ -2804,6 +2804,9 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
clean_post_cache($post_ID);
if ( isset($post_parent) && $post_parent < 0 )
add_post_meta($post_ID, '_wp_attachment_temp_parent', $post_parent, true);
if ( $update) {
do_action('edit_attachment', $post_ID);
} else {