rebase on oct-10-2023
This commit is contained in:
@@ -452,7 +452,7 @@ class WP_Comment_Query {
|
||||
$last_changed = wp_cache_get_last_changed( 'comment' );
|
||||
|
||||
$cache_key = "get_comments:$key:$last_changed";
|
||||
$cache_value = wp_cache_get( $cache_key, 'comment' );
|
||||
$cache_value = wp_cache_get( $cache_key, 'comment-queries' );
|
||||
if ( false === $cache_value ) {
|
||||
$comment_ids = $this->get_comment_ids();
|
||||
if ( $comment_ids ) {
|
||||
@@ -463,7 +463,7 @@ class WP_Comment_Query {
|
||||
'comment_ids' => $comment_ids,
|
||||
'found_comments' => $this->found_comments,
|
||||
);
|
||||
wp_cache_add( $cache_key, $cache_value, 'comment' );
|
||||
wp_cache_add( $cache_key, $cache_value, 'comment-queries' );
|
||||
} else {
|
||||
$comment_ids = $cache_value['comment_ids'];
|
||||
$this->found_comments = $cache_value['found_comments'];
|
||||
@@ -481,12 +481,16 @@ class WP_Comment_Query {
|
||||
|
||||
$comment_ids = array_map( 'intval', $comment_ids );
|
||||
|
||||
if ( $this->query_vars['update_comment_meta_cache'] ) {
|
||||
wp_lazyload_comment_meta( $comment_ids );
|
||||
}
|
||||
|
||||
if ( 'ids' === $this->query_vars['fields'] ) {
|
||||
$this->comments = $comment_ids;
|
||||
return $this->comments;
|
||||
}
|
||||
|
||||
_prime_comment_caches( $comment_ids, $this->query_vars['update_comment_meta_cache'] );
|
||||
_prime_comment_caches( $comment_ids, false );
|
||||
|
||||
// Fetch full comment objects from the primed cache.
|
||||
$_comments = array();
|
||||
@@ -584,8 +588,6 @@ class WP_Comment_Query {
|
||||
if ( ! empty( $this->query_vars['include_unapproved'] ) ) {
|
||||
$include_unapproved = wp_parse_list( $this->query_vars['include_unapproved'] );
|
||||
|
||||
$unapproved_ids = array();
|
||||
$unapproved_emails = array();
|
||||
foreach ( $include_unapproved as $unapproved_identifier ) {
|
||||
// Numeric values are assumed to be user IDs.
|
||||
if ( is_numeric( $unapproved_identifier ) ) {
|
||||
@@ -675,7 +677,7 @@ class WP_Comment_Query {
|
||||
// If no date-related order is available, use the date from the first available clause.
|
||||
if ( ! $comment_id_order ) {
|
||||
foreach ( $orderby_array as $orderby_clause ) {
|
||||
if ( false !== strpos( 'ASC', $orderby_clause ) ) {
|
||||
if ( str_contains( 'ASC', $orderby_clause ) ) {
|
||||
$comment_id_order = 'ASC';
|
||||
} else {
|
||||
$comment_id_order = 'DESC';
|
||||
@@ -1013,14 +1015,10 @@ class WP_Comment_Query {
|
||||
*
|
||||
* @since 4.4.0
|
||||
*
|
||||
* @global wpdb $wpdb WordPress database abstraction object.
|
||||
*
|
||||
* @param WP_Comment[] $comments Array of top-level comments whose descendants should be filled in.
|
||||
* @return array
|
||||
*/
|
||||
protected function fill_descendants( $comments ) {
|
||||
global $wpdb;
|
||||
|
||||
$levels = array(
|
||||
0 => wp_list_pluck( $comments, 'comment_ID' ),
|
||||
);
|
||||
@@ -1036,13 +1034,19 @@ class WP_Comment_Query {
|
||||
$child_ids = array();
|
||||
$uncached_parent_ids = array();
|
||||
$_parent_ids = $levels[ $level ];
|
||||
foreach ( $_parent_ids as $parent_id ) {
|
||||
$cache_key = "get_comment_child_ids:$parent_id:$key:$last_changed";
|
||||
$parent_child_ids = wp_cache_get( $cache_key, 'comment' );
|
||||
if ( false !== $parent_child_ids ) {
|
||||
$child_ids = array_merge( $child_ids, $parent_child_ids );
|
||||
} else {
|
||||
$uncached_parent_ids[] = $parent_id;
|
||||
if ( $_parent_ids ) {
|
||||
$cache_keys = array();
|
||||
foreach ( $_parent_ids as $parent_id ) {
|
||||
$cache_keys[ $parent_id ] = "get_comment_child_ids:$parent_id:$key:$last_changed";
|
||||
}
|
||||
$cache_data = wp_cache_get_multiple( array_values( $cache_keys ), 'comment-queries' );
|
||||
foreach ( $_parent_ids as $parent_id ) {
|
||||
$parent_child_ids = $cache_data[ $cache_keys[ $parent_id ] ];
|
||||
if ( false !== $parent_child_ids ) {
|
||||
$child_ids = array_merge( $child_ids, $parent_child_ids );
|
||||
} else {
|
||||
$uncached_parent_ids[] = $parent_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1072,7 +1076,7 @@ class WP_Comment_Query {
|
||||
$cache_key = "get_comment_child_ids:$parent_id:$key:$last_changed";
|
||||
$data[ $cache_key ] = $children;
|
||||
}
|
||||
wp_cache_set_multiple( $data, 'comment' );
|
||||
wp_cache_set_multiple( $data, 'comment-queries' );
|
||||
}
|
||||
|
||||
$level++;
|
||||
|
||||
Reference in New Issue
Block a user