Gravity Forms пропускает форму, если она уже заполнена с помощью cookie?

У меня есть страница Gravity Forms, где после заполнения формы вы попадаете на страницу подтверждения, где вы можете загрузить некоторые ресурсы.

Проблема с этой настройкой: Скажем, кто-то заполняет форму и затем переходит на страницу подтверждения, а затем покидает сайт. Позже они помнят, что им нужно загрузить другой файл со страницы подтверждения. Они возвращаются на сайт и снова заполняют форму.

Есть ли опция в Gravity Forms для указания файла cookie или что-то, что указывает на то, что пользователь уже заполнил форму и снова отобрал ее на странице подтверждения?

Вот какой код вы можете просто использовать gform_after_submission hook of Gravity Forms для установки cookie на основе вашего идентификатора формы после отправки, а затем проверить это на странице подтверждения, подключившись к template_redirect .

Чтобы настроить функциональность, вы захотите посмотреть документы для setcookie , gform_after_submission и template_redirect .

Для формы

 // Make sure to swap out {your_form_id} with the ID of the form. add_action( 'gform_after_submission_{your_form_id}', 'wpse_set_submitted_cookie', 10, 2 ); function wpse_set_submitted_cookie( $entry, $form ) { // Set a third parameter to specify a cookie expiration time, // otherwise it will last until the end of the current session. setcookie( 'wpse_form_submitted', 'true' ); } 

Для страницы

 add_action( 'template_redirect', 'wpse_protect_confirmation_page' ); function wpse_protect_confirmation_page() { if( is_page( 'my-confirmation-page' ) && ! isset( $_COOKIE['wpse_form_submitted'] ) ) { wp_redirect( home_url( '/my-form/' ) ); exit(); } } 

Это довольно близко к этому:

http://gravitywiz.com/submit-gravity-form-access-content/

Основываясь на вашем сценарии и предполагая, что ваш контент подтверждения статичен, вы должны настроить страницу WordPress с нужным контентом. Затем вы настроили фрагмент, чтобы пользователь мог отправить форму для доступа к этому контенту. При последующих посещениях он просто покажет содержимое (без формы), если пользователь уже отправил его.