Вам необходимо, чтобы к вашей форме обратной связи, сделанной на Contact Form 7, могли прикрепить файл? Легко объясню, как реализовать данную возможность. Вам не придётся прилагать много усилий, ведь данная функция реализована из «коробки».
Пошаговая инструкция
Всего нужно выполнить несколько этапов, чтобы прикрепить файл к почтовому отправлению в Contact Form 7:
- Создать форму.
- Внести в неё поле file.
- Добавить сие поле в отправляемое сообщение.
- Опционально: изменить разрешения для временной папки или указать путь к своей.
Теперь давайте распишем всё по порядку и со скриншотами. С созданием формы, надеюсь, все понятно. Очень не хочется в рамках данной статейки разжёвывать.
Давайте рассмотрим сначала поле file. Его нужно разместить для того, чтобы появилась кнопка для загрузки файла на сайт.
Давайте поглядим на параметры:
- id – идентификатор нашего file;
- class – отдельный класс бокса;
- filetypes – форматы файлов, разрешённые для загрузки (по умолчанию: gif, jpeg, jpg, png, odt, docx, pdf, doc, ppt, pptx, ogg, m4a, mov, mp3, mp4, mpg, wav, avi, wmv);
- limit – максимально допустимый для загрузки размер файла, limit:10280 (это размер в байтах), limit:12kb (ограничение в килобайтах), limit:5mb (ограничение в мегабайтах), других допустимых значение нет, максимальный размер по умолчанию — 1 мегабайт.
На выходе получаем такую строку:
[file file-195 class:filik filetypes:doc|odt|txt limit:5mb]
Указываем подтип file, file-195 – идентификатор, class – набор стилей CSS, filetypes – типы файлов, которые можно загрузить, разделяются вертикальной чертой, последнее — limit, как уже написано, максимальный размер файла.
И эту строку нужно внести в то место, где будет располагаться кнопка загрузки в редакторе формы Contact Form 7.
Не забудьте перейти во вкладку «письмо» и в самом низу разместить вложение в разделе «Прикреплённые файлы».
Можно создавать файл и через готовый шаблон. В первую очередь нажимаем на кнопку «файл».
Появляется такое окно. Вводим все данные. Обратите внимание, в данном окне нужно вводить допустимые форматы файлов через запятую, при указании размера не забудьте указать формат, иначе выведет в байтах.
Все, готово, теперь при отправке формы можно прикладывать файлы. Результат можете увидеть на фото ниже. Но со стилями придётся ещё поработать.
Если отправка не работает
Вполне возможно, что на каталог с файлами стоит ограничение. Поменяйте для папки uploads в wp-content разрешения на «755» или «rwx r-x r-x». Как это сделать в вашем хостинге, уточняйте у поставщика услуг.
В крайнем случае потребуется в файл wp-config.php добавить такой код:
define( 'WPCF7_UPLOADS_TMP_DIR', 'wp-content/uploads/wpcf7/fileki' );
Внимательно следите за соблюдением синтаксиса, иначе получете такую ошибку:
wp-content/uploads/wpcf7/fileki — путь. Можете указать любой другой, который вам удобен. Этот код создаст новую временную папку, в которую будут выгружаться прикреплённые файлы перед отправкой.
Итог
Как видите, прикрепить файл к форме Contact Form 7 нетрудно. Просто следуйте инструкции и все легко получится.
Как сохранять этот файл на сервере а не прикреплять к почте?
Спасибо
Здравствуйте, встроенного функционала у CF7 для этого нет, только если дописать. Но я такую проблему ещё не решал, так что сходу посоветовать ничего не могу.
Супер! Спасибо!
Рад, что сумел помочь, успехов!
Спасибо, вы очень помогли!
Не за что, рад был помочь, успехов!
Спасибо вам за статью, святой человек. Сутки мучений , а оказалось не корректный тэг в поле “прикрепленные файлы”.
p.s. + в карму
Добрый день. Подскажите, пожалуйста, у меня все работает, но все прикрепленные файлы приходят в подобном виде dhdhndhdhdh.docx. Как это исправить, чтобы имена файлов соответствовали тому, как они изначально были названы при загрузке.
Честно говоря, не знаю, что это за ошибка, никогда с такой не сталкивался. Вполне возможно, что на загрузку файлов влияет какой-то другой плагин. Вам лучше спросить у автора плагина: https://wordpress.org/support/plugin/contact-form-7/
Либо можете использовать вместо стандартной загрузки файла CF7 расширение Drag and Drop Multiple File Upload – Contact Form 7. Найти можно также среди плагинов. Оно позволяет прикреплять к сообщению сразу несколько файлов. Вполне возможно это решит вашу проблему без перелопачивания всего сайта и плагинов на нём.
хм.. скопировал все настройки и прописал 777,
но…. просто не работает, досвидос.
и такое бывает
Лучше, всё-таки, прописать “644”. Возможно, какие-либо ограничения есть на уровне хостинга, спросите у его поддержки об этом.