Make WordPress Core


Ignore:
Timestamp:
12/16/2008 11:50:39 PM (18 years ago)
Author:
ryan
Message:

Don't cache filtered post objects. Set filter when getting sample permalink. Props brianwhite. fixes #8526 for trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/post.php

    r10150 r10213  
    216216                else
    217217                        return $null;
    218         } elseif ( is_object($post) ) {
     218        } elseif ( is_object($post) && empty($post->filter) ) {
    219219                _get_post_ancestors($post);
    220220                wp_cache_add($post->ID, $post, 'posts');
    221221                $_post = &$post;
    222222        } else {
     223                if ( is_object($post) )
     224                        $post = $post->ID;
    223225                $post = (int) $post;
    224226                if ( ! $_post = wp_cache_get($post, 'posts') ) {
     
    793795                foreach ( array_keys(get_object_vars($post)) as $field )
    794796                        $post->$field = sanitize_post_field($field, $post->$field, $post->ID, $context);
     797                $post->filter = $context;
    795798        } else {
    796799                if ( !isset($post['ID']) )
     
    798801                foreach ( array_keys($post) as $field )
    799802                        $post[$field] = sanitize_post_field($field, $post[$field], $post['ID'], $context);
    800         }
     803                $post['filter'] = $context;
     804        }
     805
    801806        return $post;
    802807}
Note: See TracChangeset for help on using the changeset viewer.