Ошибка пожалуйста заполните необходимые поля имя email

I have a problem submitting comment form for not signed in users. When I try to submit the forms, it is giving me an error —

ERROR: please fill the required fields (name, email).

I am using default template for WordPress. I have tried to deactivate the plugins one by one to make sure that if this is not a conflict, but then it is also not working. However, It’s working fine for logged in users.

asked Apr 8, 2019 at 6:31

Al Waqar's user avatar

You can just make the email and name fields not required, To achieve this, go to Dashboard > Settings > Discussion and uncheck the Comment author must fill out name and email.

discussion settings

Edit:
Read the comments for actual solution …

answered Apr 8, 2019 at 6:45

Mohandes's user avatar

MohandesMohandes

4523 silver badges15 bronze badges

11

I had the same issue. Check the code below within your theme and remove ‘comment-form’ and ‘comment-list’.

 add_theme_support(
            'html5',
            array(
                'search-form',
                //'comment-form',
                //'comment-list',
                'gallery',
                'caption',
            )
        );

Note this question should be on WordPress stackoverflow.

answered Apr 27, 2022 at 19:30

Nuno Sarmento's user avatar

При неверном вводе мыла, имени или пустом комменте происходит редирект на /wp-comments-post.php
где окно с выводом ошибки

ОШИБКА: пожалуйста, заполните необходимые поля (имя, e-mail).

Есть ли возможность после валидации полей выводить пусть даже эту ошибку аяксом?
Или уже на крайний случай вообще удалить фильтры трех полей не затронув остального функционала?

задан 10 авг 2017 в 6:03

iyaki's user avatar

2

Вот какой получился костылик.

function add_comment_fields($fields) {


$fields['custom_validation'] = "<script>" . PHP_EOL;
$fields['custom_validation'] .= "var comment_form_error = true;" . PHP_EOL;
$fields['custom_validation'] .= 'if(comment_form_error){ ' . PHP_EOL;
$fields['custom_validation'] .= "   document.getElementById('commentform').onsubmit = function(){" . PHP_EOL;
$fields['custom_validation'] .= '       var $email = jQuery("#email"), $author = jQuery("#author"), $comment = jQuery("#comment"), reg =  /^\w+@\w+\.\w{2,4}$/i;' . PHP_EOL;
$fields['custom_validation'] .= '       comment_form_error = false; ' . PHP_EOL;
$fields['custom_validation'] .= '       if($comment.val().length > 0){ ' . PHP_EOL;
$fields['custom_validation'] .= '           $comment.removeClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '       } else { ' . PHP_EOL;
$fields['custom_validation'] .= '           $comment.addClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '           comment_form_error = true; ' . PHP_EOL;
$fields['custom_validation'] .= '       } ' . PHP_EOL;
$fields['custom_validation'] .= '       if($author.val().length > 0){ ' . PHP_EOL;
$fields['custom_validation'] .= '           $author.removeClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '       } else { ' . PHP_EOL;
$fields['custom_validation'] .= '           $author.addClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '           comment_form_error = true; ' . PHP_EOL;
$fields['custom_validation'] .= '       } ' . PHP_EOL;
$fields['custom_validation'] .= '       if($email.val().length > 0 && reg.test($email.val())){ ' . PHP_EOL;
$fields['custom_validation'] .= '           $email.removeClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '       } else { ' . PHP_EOL;
$fields['custom_validation'] .= '           $email.addClass("error"); ' . PHP_EOL;
$fields['custom_validation'] .= '           comment_form_error = true; ' . PHP_EOL;
$fields['custom_validation'] .= "       } " . PHP_EOL;
$fields['custom_validation'] .= "       if(!comment_form_error){" . PHP_EOL;
$fields['custom_validation'] .= "           jQuery( '#commentform' ).submit();" . PHP_EOL;
$fields['custom_validation'] .= "       } " . PHP_EOL;
$fields['custom_validation'] .= "       return false; " . PHP_EOL;
$fields['custom_validation'] .= "   } " . PHP_EOL;
$fields['custom_validation'] .= "}" . PHP_EOL;
$fields['custom_validation'] .= "</script>" . PHP_EOL;

return $fields;

}

add_filter(‘comment_form_default_fields’,’add_comment_fields’);

Принцип действия довольно прост: Добавляем скрипт, как кастомное поле. Изначально ошибка в состоянии True, пробегаемся по полям проверяем их на заполненность. В случае отсутствия ошибок сабмитим форму по новой. Варианты без флага comment_form_error и
$( "#target" ).submit(function( event ) {event.prventDefault()});
почему то не сработали. Видимо мой .онсабмит вызывается раньше дефолтного ВП-листнера.

ответ дан 14 авг 2017 в 5:58

iyaki's user avatar

iyakiiyaki

617 бронзовых знаков

У меня проблема с отправкой формы комментария для не авторизованных пользователей. Когда я пытаюсь отправить формы, это дает мне ошибку —

ОШИБКА: пожалуйста, заполните необходимые поля (имя, адрес электронной почты).

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

Поделиться

Источник

1 ответ

Вы можете просто сделать поля электронной почты и имени не обязательными. Для этого перейдите на » Dashboard > Settings > Discussion и снимите флажок «Автор комментариев» должен указать имя и адрес электронной почты.

Изображение 145415

Изменить: Прочитать комментарии для актуального решения…

Mohandes

Поделиться

Ещё вопросы

  • 1Активная точная демоверсия роутера?
  • 1Каждый символ заменить из строки в Python
  • 0C ++ Получение неопределенной ошибки символа
  • 1Скопируйте большие файлы максимально быстро
  • 1Как исправить «java.io.IOException: чтение не удалось, сокет может быть закрыт или истекло время ожидания» при попытке подключения к сопряженному устройству?
  • 0Имеет ли смысл использовать debounce для $ scope. $ Apply
  • 0Использование jQuery .each () для перебора элементов одного идентификатора для .attr () в backbone.js
  • 0SSRS: несколько ссылок HTML в одном столбце не отображаются правильно при экспорте в Excel
  • 1Низкая точность на MNIST CNN с несколькими графическими процессорами
  • 0Codeigniter Pagination начинается с другой страницы и другой активной ссылки для разных сотрудников, в то время как код один и тот же
  • 1Как создать массив из разных элементов enum
  • 1Как показать ProgressBar через определенное время
  • 1BackgroundWorker ReportProgress из другого класса
  • 1Реструктуризация разбора результатов анализа многопоточного файла журнала
  • 1Моя реализация Java алгоритма Фибоначчи не работает.
  • 0Я получаю «Усеченное неверное значение даты и времени:« 0000-00-00 »» даже при выключенном строгом режиме.
  • 0Разделите вывод .serialize () и создайте оператор вставки для каждой разделенной части
  • 1Неожиданное поведение при программном переключении исключений в Android P и Q Beta
  • 0Использование dynamic_cast для обнаружения столкновений в 2D-среде
  • 0Когда флажок установлен, отключите текстовые поля
  • 0обеспечение единого #defines среди всех объектных файлов
  • 0Только время выбора в ejuidatetimepicker
  • 0Прокрутка страницы как параллакс
  • 1Почему XhtmlTextWriter игнорирует пользовательские атрибуты?
  • 1Как использовать Loop для выполнения процедуры хранения в Cosmos-DB / Document-DB?
  • 1Доступ запрещен — создание каталога на сервере Microsoft с помощью Silverlight
  • 1Регулярное выражение Javascript допускает только один знак плюс (+) в начале, а длина строки не должна превышать 15 символов
  • 0Mysql: создать вид как выберите *
  • 0Разбор с помощью fscanf (), игнорирующий пробелы или пропущенные значения?
  • 0Поле соответствия двигателя проверки
  • 1Как настроить палитру цветов?
  • 0JQuery загрузить страницу в диалог
  • 1Arduino мигает светодиод на нажатой кнопке приложения c #
  • 0вернуть строку и избежать пустых полей внутри нее
  • 0Можно ли избежать использования внутреннего соединения в MySQL?
  • 0опция по умолчанию в поле выбора — угловой JS
  • 0Определение ключевых слов C 11 в строках (проблемы с string.at ())
  • 0Связывание AngularJS и TypeScript не работает
  • 0почему я вижу белую страницу при загрузке моего php на мой хост?
  • 1Путаница между PIL.Image и PIL.Image.Image и правильный способ их использования?
  • 1Найти частоты определенного значения свойства в списке <объект>
  • 0Передача пользовательских функций в объекты jquery
  • 0Qt QML MenuBar и меню не отображаются
  • 1Jade / мопс выберите форму Javascript Onchange событие
  • 1Каков наилучший подход для добавления данных в другой фрагмент и сохранения их в виде повторного просмотра предыдущего фрагмента?
  • 1double.ToString («G»), но всегда включать точку?
  • 0mysqldump ошибка 1728 при автоматическом выполнении резервного копирования
  • 1Попросите пользователя продолжить просмотр следующих 5 строк данных
  • 1На Vis.js, шкала времени, обновление отображения данных об изменениях
  • 0Холст (Three.js) сценарий с Angular

Сообщество Overcoder

#wordpress

#wordpress

Вопрос:

У меня проблема с отправкой формы комментариев для не зарегистрированных пользователей. Когда я пытаюсь отправить формы, это выдает мне сообщение об ошибке —

ОШИБКА: пожалуйста, заполните обязательные поля (имя, адрес электронной почты).

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

Ответ №1:

Вы можете просто сделать поля электронной почты и имени не обязательными, для этого перейдите Dashboard > Settings > Discussion и снимите флажок с комментария автор должен заполнить имя и адрес электронной почты.

параметры обсуждения

Редактировать:
прочитайте комментарии для фактического решения …

Комментарии:

1. Я заполняю как адрес электронной почты, так и имя, тогда ошибка не должна отображаться?

2. Не могли бы вы поделиться ссылкой на эту страницу? или пользовательские коды, если у вас есть?

3. Одна вещь, которую я заметил в вашей форме: поле ввода для имени имеет атрибут name="firstname" , я думаю, коды проверяют это по атрибуту name="name" . Можете ли вы попробовать изменить атрибут name с firstname на only name ?

4. а также id атрибут.

5. Извините, измените атрибут name на author ( name="author" ). Это должно сработать! Я только что отправил комментарий к вашему сообщению прямо сейчас

Ответ №2:

У меня была такая же проблема. Проверьте приведенный ниже код в вашей теме и удалите «форму комментариев» и «список комментариев».

  add_theme_support(
            'html5',
            array(
                'search-form',
                //'comment-form',
                //'comment-list',
                'gallery',
                'caption',
            )
        );
  

Обратите внимание, что этот вопрос должен быть в WordPress stackoverflow.

Just a quick tip for anyone that is suddenly experiencing the following error when you or people on your WordPress installation are getting this error when commenting or replying to a comment:

Error: Please fill the required fields (name, email).

Here’s a screenshot:

Assuming the fields are all filled out properly or you are logged in, this is 99% likely caused by a plugin and the majority of the time, it’s the Jetpack plugin. You will have to disable the plugin and you will no longer encounter the error when commenting or replying.

Once you’ve identified which plugin is causing the issue, completely delete the plugin and re-install it and that should resolve the issue.

Hope that helps!

Понравилась статья? Поделить с друзьями:
  • Ошибка пожалуйста заполните необходимые поля имя e mail
  • Ошибка подождите несколько минут прежде чем пытаться снова
  • Ошибка перегрева процессора что делать
  • Ошибка пожалуйста выберите допустимый интерпретатор python
  • Ошибка подождите не торопитесь устанавливать office 2016