clean page cache when reparenting pages after deletion. Props hailin. fixes #5457

git-svn-id: http://svn.automattic.com/wordpress/trunk@6382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2007-12-14 20:56:55 +00:00
parent c4020242c2
commit 8f6268e38b
1 changed files with 8 additions and 1 deletions

View File

@ -758,7 +758,10 @@ function wp_delete_post($postid = 0) {
delete_option('page_for_posts');
}
// Point children of this page to its parent
// Point children of this page to its parent, also clean the cache of affected children
$children_query = $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_parent = %d AND post_type='page'", $postid);
$children = $wpdb->get_results($children_query);
$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'page' ) );
}
@ -773,6 +776,10 @@ function wp_delete_post($postid = 0) {
if ( 'page' == $post->post_type ) {
clean_page_cache($postid);
foreach ( (array) $children as $child )
clean_page_cache($child->ID);
$wp_rewrite->flush_rules();
} else {
clean_post_cache($postid);