Don't use `array_merge()` when building comment children arrays.
`array_merge()` is much slower than building the combined array using a `foreach` loop. The performance difference was causing a speed regression with the `get_children()` functionality introduced in 4.4. Props rogerhub. Fixes #35025. Built from https://develop.svn.wordpress.org/trunk@35931 git-svn-id: http://core.svn.wordpress.org/trunk@35895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
0c59fd02bb
commit
b6dbe1cea9
|
@ -1330,11 +1330,16 @@ function comments_template( $file = '/comments.php', $separate_comments = false
|
||||||
// Trees must be flattened before they're passed to the walker.
|
// Trees must be flattened before they're passed to the walker.
|
||||||
$comments_flat = array();
|
$comments_flat = array();
|
||||||
foreach ( $_comments as $_comment ) {
|
foreach ( $_comments as $_comment ) {
|
||||||
$comments_flat = array_merge( $comments_flat, array( $_comment ), $_comment->get_children( array(
|
$comments_flat[] = $_comment;
|
||||||
|
$comment_children = $_comment->get_children( array(
|
||||||
'format' => 'flat',
|
'format' => 'flat',
|
||||||
'status' => $comment_args['status'],
|
'status' => $comment_args['status'],
|
||||||
'orderby' => $comment_args['orderby']
|
'orderby' => $comment_args['orderby']
|
||||||
) ) );
|
) );
|
||||||
|
|
||||||
|
foreach ( $comment_children as $comment_child ) {
|
||||||
|
$comments_flat[] = $comment_child;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.5-alpha-35930';
|
$wp_version = '4.5-alpha-35931';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue