diff --git a/src/wp-admin/includes/schema.php b/src/wp-admin/includes/schema.php
index 4be5d5399a..a41f9b5e5b 100644
--- a/src/wp-admin/includes/schema.php
+++ b/src/wp-admin/includes/schema.php
@@ -535,6 +535,9 @@ function populate_options() {
// 4.9.6
'wp_page_for_privacy_policy' => 0,
+
+ // 4.9.8
+ 'show_comments_cookies_opt_in' => 0,
);
// 3.3
diff --git a/src/wp-admin/options-discussion.php b/src/wp-admin/options-discussion.php
index c98c441103..48fb552bb8 100644
--- a/src/wp-admin/options-discussion.php
+++ b/src/wp-admin/options-discussion.php
@@ -85,6 +85,13 @@ printf(
?>
+
+
+
+
',
);
- if ( has_action( 'set_comment_cookies', 'wp_set_comment_cookies' ) ) {
+ if ( has_action( 'set_comment_cookies', 'wp_set_comment_cookies' ) && get_option( 'show_comments_cookies_opt_in' ) ) {
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
$fields['cookies'] = '';
diff --git a/tests/phpunit/tests/comment/commentForm.php b/tests/phpunit/tests/comment/commentForm.php
index 45f83a4d17..0fabd97a6a 100644
--- a/tests/phpunit/tests/comment/commentForm.php
+++ b/tests/phpunit/tests/comment/commentForm.php
@@ -87,6 +87,8 @@ class Tests_Comment_CommentForm extends WP_UnitTestCase {
public function test_fields_should_include_cookies_consent() {
$p = self::factory()->post->create();
+ add_filter( 'option_show_comments_cookies_opt_in', '__return_true' );
+
$args = array(
'fields' => array(
'author' => 'Hello World!',
@@ -94,6 +96,8 @@ class Tests_Comment_CommentForm extends WP_UnitTestCase {
);
$form = get_echo( 'comment_form', array( $args, $p ) );
+ remove_filter( 'option_show_comments_cookies_opt_in', '__return_true' );
+
$this->assertRegExp( '||', $form );
}
}