Make WordPress Core

Changeset 53298


Ignore:
Timestamp:
04/28/2022 01:16:18 AM (4 years ago)
Author:
peterwilsoncc
Message:

Editor: Show comment previews in the Comment Query Loop.

Update build_comment_query_vars_from_block() to show previews of unmoderated comments to the original author of the comment. This duplicates the existing logic in wp_list_comments().

Props darerodz, bernhard-reiter, czapla.
Fixes #55634.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/blocks.php

    r53235 r53298  
    12881288
    12891289        $comment_args = array(
    1290                 'orderby'                   => 'comment_date_gmt',
    1291                 'order'                     => 'ASC',
    1292                 'status'                    => 'approve',
    1293                 'no_found_rows'             => false,
    1294         );
     1290                'orderby'       => 'comment_date_gmt',
     1291                'order'         => 'ASC',
     1292                'status'        => 'approve',
     1293                'no_found_rows' => false,
     1294        );
     1295
     1296        if ( is_user_logged_in() ) {
     1297                $comment_args['include_unapproved'] = array( get_current_user_id() );
     1298        } else {
     1299                $unapproved_email = wp_get_unapproved_comment_author_email();
     1300
     1301                if ( $unapproved_email ) {
     1302                        $comment_args['include_unapproved'] = array( $unapproved_email );
     1303                }
     1304        }
    12951305
    12961306        if ( ! empty( $block->context['postId'] ) ) {
  • trunk/tests/phpunit/tests/blocks/renderCommentTemplate.php

    r53258 r53298  
    251251                );
    252252        }
     253
     254        /**
     255         * Test that unapproved comments are included if it is a preview.
     256         *
     257         * @ticket 55634
     258         * @covers ::build_comment_query_vars_from_block
     259         */
     260        function test_build_comment_query_vars_from_block_with_comment_preview() {
     261                $parsed_blocks = parse_blocks(
     262                        '<!-- wp:comment-template --><!-- wp:comment-author-name /--><!-- wp:comment-content /--><!-- /wp:comment-template -->'
     263                );
     264
     265                $block = new WP_Block(
     266                        $parsed_blocks[0],
     267                        array(
     268                                'postId' => self::$custom_post->ID,
     269                        )
     270                );
     271
     272                $commenter_filter = function () {
     273                        return array(
     274                                'comment_author_email' => 'unapproved@example.org',
     275                        );
     276                };
     277
     278                add_filter( 'wp_get_current_commenter', $commenter_filter );
     279
     280                $this->assertEquals(
     281                        build_comment_query_vars_from_block( $block ),
     282                        array(
     283                                'orderby'            => 'comment_date_gmt',
     284                                'order'              => 'ASC',
     285                                'status'             => 'approve',
     286                                'no_found_rows'      => false,
     287                                'include_unapproved' => array( 'unapproved@example.org' ),
     288                                'post_id'            => self::$custom_post->ID,
     289                                'hierarchical'       => 'threaded',
     290                                'number'             => 5,
     291                                'paged'              => 1,
     292                        )
     293                );
     294        }
    253295}
Note: See TracChangeset for help on using the changeset viewer.