WordPress.org

Make WordPress Core

Ticket #37189: 37189.diff

File 37189.diff, 1.4 KB (added by spacedmonkey, 5 years ago)
  • src/wp-admin/includes/upgrade.php

     
    17011701 */
    17021702function upgrade_460() {
    17031703        delete_post_meta_by_key( '_post_restored_from' );
     1704        wp_cache_set( 'last_changed', microtime(), 'terms' );
    17041705}
    17051706
    17061707/**
  • src/wp-includes/class-wp-term-query.php

     
    633633                $cache_key = "get_terms:$key:$last_changed";
    634634                $cache = wp_cache_get( $cache_key, 'terms' );
    635635                if ( false !== $cache ) {
    636                         if ( 'all' === $_fields ) {
     636                        if ( 'all' === $_fields ){
     637                                _prime_term_caches( $cache, $args['update_term_meta_cache'] );
    637638                                $cache = array_map( 'get_term', $cache );
    638639                        }
    639640
     
    732733                        }
    733734                }
    734735
    735                 wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
    736736
    737737                if ( 'all' === $_fields ) {
    738738                        $terms = array_map( 'get_term', $terms );
    739739                }
    740740
     741                if ( 'all' === $_fields ) {
     742                        $terms    = array_map( 'get_term', $terms );
     743                        $term_ids = wp_list_pluck( $terms, 'term_id' );
     744                        wp_cache_add( $cache_key, $term_ids, 'terms', DAY_IN_SECONDS );
     745                } else {
     746                        wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
     747                }
     748
    741749                $this->terms = $terms;
    742750                return $this->terms;
    743751        }