The child should not have to pay for the sins of his father. Caching for children needs to be cleared when parent is edited; if we check for empty and not isset, it never gets better for empty results.

git-svn-id: https://develop.svn.wordpress.org/trunk@7601 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Matt Mullenweg 2008-04-05 05:54:08 +00:00
parent 44aeb8508d
commit e1ae860b7d
1 changed files with 8 additions and 1 deletions

View File

@ -2712,12 +2712,19 @@ function update_page_cache(&$pages) {
* @param int $id Page ID to clean
*/
function clean_page_cache($id) {
global $wpdb;
$id = (int) $id;
clean_post_cache($id);
wp_cache_delete( 'all_page_ids', 'posts' );
wp_cache_delete( 'get_pages', 'posts' );
do_action('clean_page_cache', $id);
if ( $children = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_parent = '$id'" ) )
foreach( $children as $cid )
clean_post_cache( $cid );
}
/**
@ -2943,7 +2950,7 @@ function _save_post_hook($post_id, $post) {
function _get_post_ancestors(&$_post) {
global $wpdb;
if ( !empty($_post->ancestors) )
if ( !isset($_post->ancestors) )
return;
$_post->ancestors = array();