Контактная форма Wordpress 7 add_filter () не работает?

Кажется, я не могу использовать add_filter для контактной формы 7. В конечном счете, я пытаюсь использовать код здесь, чтобы добавить пользовательские проверки: http://code-tricks.com/contact-form-7-custom-validation-in-wordpress/

Но вызовы add_filter, кажется, не подключаются туда, где должны, и ничего не происходит. Выполняя простой тест ECHO, я вижу, что файл загружается, но проверка не происходит.

Любая идея, что может вызвать это?

add_filter('wpcf7_validate_text','cf7_custom_form_validation', 10, 2); // text field
add_filter('wpcf7_validate_text*', 'cf7_custom_form_validation', 10, 2); // Req. text field

любая указанная функция cf7_custom_form_validation() просто ничего не делает при отправке формы. Даже если я просто повторяю какой-то текст или манипулирую переменной. Ничего не произошло. Кажется, функция не вызывается.


person ninjacolin    schedule 24.03.2015    source источник


Ответы (3)


Выяснилось, что основной код CF7 был обновлен, и для того, чтобы пользовательская проверка работала, необходимы некоторые изменения: более подробную информацию можно найти здесь: http://contactform7.com/2015/01/27/contact-form-7-41/ и здесь: http://contactform7.com/2015/01/06/contact-form-7

Я попробую и отмечу это как ответ, если все получится.

person ninjacolin    schedule 24.03.2015
comment
Это ответ. Я просто не могу принять это как таковое еще 23 часа. - person ninjacolin; 25.03.2015

Я не думаю, что в вашем случае есть проблема с add_filter. Это может быть связано с тем, что неправильный идентификатор используется для валидации. Проверьте идентификатор формы в коде проверки, правильно ли он используется.

person Ujjwal    schedule 24.03.2015
comment
Я не думаю, что для этого нужен какой-то специальный идентификатор формы. Если да, то каким он должен быть? Я точно следовал указаниям. add_filter('wpcf7_validate_text*', 'my_wpcf7_validate_text', 10, 2); а в плагине CF7: [text* fullName] .. ничего не происходит. - person ninjacolin; 24.03.2015
comment
Вы установили флажок, написанный как обязательное поле? Установите флажок для всех полей, которые вы хотите проверить. - person Ujjwal; 25.03.2015
comment
Спасибо за вашу помощь! Оказывается, это было просто обновление основного кода, о котором я не знал. Теперь все лучше. см. мой ответ выше. - person ninjacolin; 25.03.2015

К вашему сведению, инструкции на следующей странице в настоящее время неверны — https://contactform7.com/2015/03/28/custom-validation/

Следующий код $tag->name

нужно прочитать $tag[name], так как, по-видимому, $tag теперь является массивом...

person rothschild86    schedule 30.01.2018