Make WordPress Core

Ticket #36904: 36904-different.diff

File 36904-different.diff, 2.6 KB (added by spacedmonkey, 6 years ago)
  • src/wp-includes/class-wp-query.php

     
    25832583                        $cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
    25842584                        $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
    25852585
    2586                         $comments = (array) $wpdb->get_results( "SELECT $distinct {$wpdb->comments}.* FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits" );
     2586                        $comments_request   =  "SELECT $distinct {$wpdb->comments}.comment_ID FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits";
     2587                        $key                = md5( $comments_request );
     2588                        $last_changed       = wp_cache_get_last_changed( 'comment' );
     2589                        $last_changed_posts = wp_cache_get_last_changed( 'posts' );
     2590                        $cache_key          = "comment_feed:$key:$last_changed:$last_changed_posts";
     2591                        $comment_ids        = wp_cache_get( $cache_key, 'comment' );
     2592                        if ( false === $comment_ids ) {
     2593                                $comment_ids = $wpdb->get_col( $comments_request );
     2594                                wp_cache_add( $cache_key, (array) $comment_ids, 'comment' );
     2595                        }
     2596                        _prime_comment_caches( $comment_ids, false );
    25872597                        // Convert to WP_Comment
    2588                         $this->comments      = array_map( 'get_comment', $comments );
     2598                        $this->comments      = array_map( 'get_comment', $comment_ids );
    25892599                        $this->comment_count = count( $this->comments );
    25902600
    25912601                        $post_ids = array();
     
    29872997                        /** This filter is documented in wp-includes/query.php */
    29882998                        $climits = apply_filters_ref_array( 'comment_feed_limits', array( 'LIMIT ' . get_option( 'posts_per_rss' ), &$this ) );
    29892999
    2990                         $comments_request = "SELECT {$wpdb->comments}.* FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits";
    2991                         $comments         = $wpdb->get_results( $comments_request );
     3000                        $comments_request = "SELECT {$wpdb->comments}.comment_ID FROM {$wpdb->comments} $cjoin $cwhere $cgroupby $corderby $climits";
     3001                        $key              = md5( $comments_request );
     3002                        $last_changed     = wp_cache_get_last_changed( 'comment' );
     3003                        $cache_key        = "comment_feed:$key:$last_changed";
     3004                        $comment_ids      = wp_cache_get( $cache_key, 'comment' );
     3005                        if ( false === $comment_ids ) {
     3006                                $comment_ids = $wpdb->get_col( $comments_request );
     3007                                wp_cache_add( $cache_key, $comment_ids, 'comment' );
     3008                        }
     3009                        _prime_comment_caches( $comment_ids, false );
    29923010                        // Convert to WP_Comment
    2993                         $this->comments      = array_map( 'get_comment', $comments );
     3011                        $this->comments      = array_map( 'get_comment', $comment_ids );
    29943012                        $this->comment_count = count( $this->comments );
    29953013                }
    29963014