Как загружать файл после отправки контактной формы?
Здравствуйте, мне нужно реализовать скачивание файла после отправки контактной формы.
Я использую Contact Form 7:
Вот шаблон:
<label> [email* your-email autocomplete:email] </label> <input type="submit" value="Відправити"> |
<label> [email* your-email autocomplete:email] </label> <input type="submit" value="Відправити">
Нужно каким-то образом сделать чтобы когда пользователь отправил форму ему автоматически скачался пдф файл
Дополнительно:
Ответы:
Нужно каким-то образом сделать чтобы когда пользователь отправил форму ему автоматически скачался пдф файл
Можно использовать редирект после отправки формы:
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'http://example.com/'; }, false ); </script> |
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'http://example.com/'; }, false ); </script>
Или c открытием загрузки в новом окне/вкладке
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { window.open('http://example.com/', '_blank'); }, false ); </script> |
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { window.open('http://example.com/', '_blank'); }, false ); </script>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Автоматически скачивать PDF сразу после отправки Contact Form 7 можно через событие
wpcf7mailsent. Но лучше не пытаться “насильно” скачать файл в том же запросе: браузеры могут блокировать такие действия, особенно если открытие файла не связано с прямым пользовательским кликом.Практичный вариант — после успешной отправки открыть PDF в новой вкладке или перевести пользователя на страницу “Спасибо”, где есть кнопка скачивания.
<script> document.addEventListener('wpcf7mailsent', function (event) { window.open('/wp-content/uploads/file.pdf', '_blank'); }, false); </script><script> document.addEventListener('wpcf7mailsent', function (event) { window.open('/wp-content/uploads/file.pdf', '_blank'); }, false); </script>
Если нужно именно перенаправить:
document.addEventListener('wpcf7mailsent', function (event) { window.location.href = '/spasibo/?download=pdf'; }, false);document.addEventListener('wpcf7mailsent', function (event) { window.location.href = '/spasibo/?download=pdf'; }, false);
Лучший с точки зрения UX вариант: создать страницу “Спасибо за заявку”, вставить туда текст и кнопку “Скачать PDF”. Так пользователь понимает, что форма отправлена, а файл можно скачать повторно. Если открывать PDF сразу, часть пользователей может не заметить новую вкладку или браузер её заблокирует.
Если файл должен быть доступен только после отправки формы, не кладите прямую ссылку в открытый HTML заранее. Можно генерировать временную ссылку или отправлять PDF письмом. Для обычного лид-магнита чаще достаточно страницы благодарности и ссылки на файл.
Ещё проверьте MIME-тип и заголовки сервера. Если PDF открывается в браузере, а не скачивается, это нормально. Для принудительной загрузки нужен заголовок
Content-Disposition: attachment, но на WordPress-хостинге проще сделать отдельный обработчик или использовать файл как обычную ссылку с атрибутомdownload:<a href="/wp-content/uploads/file.pdf" download>Скачать PDF</a>
Итог: для Contact Form 7 используйте
wpcf7mailsent, но надёжнее вести пользователя на страницу благодарности с кнопкой скачивания. Так меньше блокировок браузера и понятнее аналитика конверсий.