Make WordPress Core

Changeset 43524


Ignore:
Timestamp:
07/24/2018 12:42:33 PM (8 years ago)
Author:
SergeyBiryukov
Message:

Comments: Ensure that themes overriding default comment_form() fields still display the cookies consent checkbox.

The comment_form_default_fields filter can be used to remove the checkbox.

Props pross, SergeyBiryukov.
Merges [43518] to the 4.9 branch.
Fixes #44126.

Location:
branches/4.9
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/4.9

  • branches/4.9/src/wp-includes/comment-template.php

    r43470 r43524  
    22102210                $fields['cookies'] = '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
    22112211                                                         '<label for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></p>';
     2212
     2213                // Ensure that the passed fields include cookies consent.
     2214                if ( isset( $args['fields'] ) && ! isset( $args['fields']['cookies'] ) ) {
     2215                        $args['fields']['cookies'] = $fields['cookies'];
     2216                }
    22122217        }
    22132218
  • branches/4.9/tests/phpunit/tests/comment/commentForm.php

    r35242 r43524  
    8181                return $defaults;
    8282        }
     83
     84        /**
     85         * @ticket 44126
     86         */
     87        public function test_fields_should_include_cookies_consent() {
     88                $p = self::factory()->post->create();
     89
     90                add_filter( 'option_show_comments_cookies_opt_in', '__return_true' );
     91
     92                $args = array(
     93                        'fields' => array(
     94                                'author' => 'Hello World!',
     95                        ),
     96                );
     97                $form = get_echo( 'comment_form', array( $args, $p ) );
     98
     99                remove_filter( 'option_show_comments_cookies_opt_in', '__return_true' );
     100
     101                $this->assertRegExp( '|<p class="comment\-form\-cookies\-consent">.*?</p>|', $form );
     102        }
    83103}
Note: See TracChangeset for help on using the changeset viewer.