WordPress.org

Make WordPress Core

Ticket #23167: 23167.diff

File 23167.diff, 1.9 KB (added by ryan, 7 years ago)

Remove the last_changed bumps from wp_insert_post() since clean_post_cache() handles that.

  • wp-includes/post.php

     
    36493649        if ( array_diff( $post_status, get_post_stati() ) )
    36503650                return $pages;
    36513651
    3652         $cache = array();
     3652        // $args can be whatever, only use the args defined in defaults to compute the key
    36533653        $key = md5( serialize( compact(array_keys($defaults)) ) );
    3654         if ( $cache = wp_cache_get( 'get_pages', 'posts' ) ) {
    3655                 if ( is_array($cache) && isset( $cache[ $key ] ) && is_array( $cache[ $key ] ) ) {
    3656                         // Convert to WP_Post instances
    3657                         $pages = array_map( 'get_post', $cache[ $key ] );
    3658                         $pages = apply_filters( 'get_pages', $pages, $r );
    3659                         return $pages;
    3660                 }
     3654        $last_changed = wp_cache_get( 'last_changed', 'posts' );
     3655        if ( ! $last_changed )
     3656                $last_changed = wp_cache_set( 'last_changed', 1, 'posts' );
     3657
     3658        $cache_key = "get_pages:$key:$last_changed";
     3659        if ( $cache = wp_cache_get( $cache_key, 'posts' ) ) {
     3660                // Convert to WP_Post instances
     3661                $pages = array_map( 'get_post', $cache );
     3662                $pages = apply_filters('get_pages', $pages, $r);
     3663                return $pages;
    36613664        }
    36623665
    36633666        if ( !is_array($cache) )
     
    38273830                }
    38283831        }
    38293832
    3830         $cache[ $key ] = $pages;
    3831         wp_cache_set( 'get_pages', $cache, 'posts' );
     3833        $page_structure = array();
     3834        foreach ( $pages as $page )
     3835                $page_structure[] = $page->ID;
    38323836
     3837        wp_cache_set( $cache_key, $page_structure, 'posts' );
     3838
    38333839        // Convert to WP_Post instances
    38343840        $pages = array_map( 'get_post', $pages );
    38353841
     
    46634669                wp_cache_delete( 'all_page_ids', 'posts' );
    46644670                do_action( 'clean_page_cache', $post->ID );
    46654671        }
     4672
     4673        if ( function_exists( 'wp_cache_incr' ) ) {
     4674                wp_cache_incr( 'last_changed', 1, 'posts' );
     4675        } else {
     4676                $last_changed = wp_cache_get( 'last_changed', 'posts' );
     4677                wp_cache_set( 'last_changed', $last_changed + 1, 'posts' );
     4678        }
    46664679}
    46674680
    46684681/**