Ошибка пожалуйста заполните необходимые поля имя 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

Поделиться

Ещё вопросы

  • 0Скрипт Absolute Path удален после Grunt Build .. Нужно исправить
  • 0Разделить слова со связанным списком в C ++
  • 1динамические события Google Analytics на основе события диспетчера тегов
  • 1Как передать объект новому действию, изменить этот объект и обновить изменения в первом действии? [Дубликат]
  • 0Как отобразить многоуровневое дерево отношений один ко многим
  • 0PHP в JavaScript с помощью кнопки «Отправить»
  • 0Есть ли функция SQLI, которая циклически перебирает массив, чтобы увидеть, есть ли какие-либо элементы в строке MYSQL?
  • 0нумерация страниц в формате mpdf {PAGENO} с помощью шаблонного механизма smarty
  • 1Переходит на URL, но не получает ответа
  • 0Java — Spring Boot — Mysql / Java — Получить тип транспортного средства из столбца таблицы и получить их общее количество (КОЛИЧЕСТВО) из другой таблицы
  • 1Типы предупреждений в Python и MATLAB
  • 0кодировка символов для смешанных данных
  • 0Как анимировать размер этих вложенных элементов div? (JQuery)
  • 0визуализировать один div и его интерактивный контент, нажав на другой div
  • 0MySQL объединяет три таблицы
  • 0Выпадающее меню в ионном
  • 1Как исправить ошибку Layoutinflator not found?
  • 0Как правильно использовать ON DUPLICATE KEY UPDATE в Node.js MySQL
  • 0В jQuery UI 1.9 или выше, как подавить восстановление после эффекта размера?
  • 0Перебирать вложенные объекты — если поле соответствует переменной, обновите $ scope
  • 0G ++ с Mountain Lion поддерживает -msse4.2?
  • 0Разрешить службе взаимодействовать с рабочим столом — Служба Windows взаимодействует с сервером OPC
  • 0Delphi mysql datetime плюс минуты вычитает текущее время
  • 1динамическое условие if из строки [duplicate]
  • 0Используйте JavaScript для пометки слова из списка
  • 0MySql Соединение на веб-сервере с файлом JSON вместо базы данных
  • 1python / pandas извлекают определенный столбец из мультииндекса
  • 0Использование CONCAT с оператором CASE работает некорректно
  • 0изменение цвета шрифта с несколькими функциями .animate на нескольких div
  • 0Получить все результаты из первой таблицы в соединении MySQL
  • 0Можно ли с помощью jQuery «перехватить» два действия?
  • 0Java (или Android) версия установки отдельных частей Mat в OpenCV
  • 1Как настроить ESLint, чтобы он запрещал экспорт по умолчанию
  • 1Ошибка выполнения на ACM-ICPC Live Archive 3242 — Криптекс Да Винчи
  • 1как динамически добавлять данные в datatable (Gridview)
  • 1Одна горячая ошибка кодирования Python машинного обучения
  • 1Как условно покрасить ячейки Excel вывода в Python?
  • 1Обновление GPS-местоположения перестает обновляться, если положить приложение в фоновом режиме и отключить экран на huawei mya-L22
  • 0Невозможно обновить значение индекса `$ scope` из клика DOM
  • 0Отзывчивый дизайн сайта больше не отзывчивый
  • 1Система маршрутизации MVC
  • 0подсчет букв верхнего регистра в рекурсивной функции
  • 1Как сделать для цикла быстрее с NumPy
  • 1regx для питона
  • 0OpenGL шейдер направленного света зеркальное отражение увеличивается с расстоянием
  • 0angular.js предотвращает пустое число
  • 0Не могу показать модальное изображение заголовка с Angularjs
  • 0высокая диаграмма с фильтрацией диапазона дат
  • 1Экспорт таблицы Excel с сервера в JavaScript
  • 0Как перенаправить из сервиса на контроллер с данными ответа в angularjs?

Сообщество 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!

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