Т.к. у нас ввели новый закон, который обязывает всех пользователей соглашаться с тем, что оставленные им данные будут обрабатываться сайтом, актуальным стало универсальное решение для галочки согласия в комментариях.

Код ниже я вставил в functions.php. Он добавляет текст согласия чуть ниже кнопки “отправить”. Возможно Вам не подойдут стили, это уже каждый под свою тему настроит.

//Добавление кнопки соглашения на обработку данных в комментариях
add_filter('comment_form_submit_field', 'add_checkbox', 10, 2);
function add_checkbox($submit_field, $args) {
   return '<!--noindex--><p><label>
   <input type="checkbox" name="agree" value="1" checked />
   Я принимаю <a href="/politic-person/" rel="nofollow" target="_blank">соглашение сайта</a> 
   об обработке персональных данных.</label>
   </p><!--/noindex-->'
   . $submit_field;
}
add_action('pre_comment_on_post', 'checkbox_test');
 
function checkbox_test($comment_post_ID) {
   if (empty($_POST['agree'])) {
      $Err = new WP_Error( 
         'comment_closed', 
         'Вы не приняли соглашение сайта об обработке персональных данных!' );
      $data = intval( $Err->get_error_data() );
      wp_die( 
         '<p>' . $Err->get_error_message() . '</p>', 
         __( 'Comment Submission Failure' ), 
         array( 'response' => $data, 'back_link' => true ) );
      exit;
   }
}

Работу кода Вы можете посмотреть на этом же блоге в комментариях.

Что касается самого текста с обработкой данных, я пользовался вот этим сервисом – tools.joomlatown.net/152/. Просто и быстро генерирует текст. Очень удобно.

Оставить комментарий