The file field is a supported conditional field. But apart from simply showing/hiding groups based on the fact if a file is selected or not, you can also add files conditionally.
Attach files from your media library conditionally
Take this form as an example:
Select file: [select "file-1" "file-2" "file-3"] [group g1]file-1 will be emailed to you[/group] [group g2]file-2 will be emailed to you[/group] [group g3]file-3 will be emailed to you[/group] [submit]
Now in the Mail tab, in the “File attachments” field enter this:
[g1] uploads/2019/07/file-1.pdf [/g1] [g2] uploads/2019/07/file-2.pdf [/g2] [g3] uploads/2019/07/file-3.pdf [/g3]
Note that, to add files from your library, you need to get the absolute path. i.e.: https://example.com/wp-content/uploads/2019/07/file-1.pdf
, and only keep the part after https://example.com/wp-content/
. So in this case the part you keep would be: uploads/2019/07/file-1.pdf
For security reasons, you are not allowed to add full URLs as file attachments. See CF7 documentation.
Form
Form Code
Select files: [select menu-1 multiple "file-1" "file-2" "file-3"]
[group g1]file-1 will be emailed to you[/group]
[group g2]file-2 will be emailed to you[/group]
[group g3]file-3 will be emailed to you[/group]
[submit]
Conditional Fields (Text)
show [g1] if [menu-1] equals "file-1"
show [g2] if [menu-1] equals "file-2"
show [g3] if [menu-1] equals "file-3"
Attach user uploaded files
In most cases you would not need conditional logic to handle files uploaded by the user. But I’ll add an example for completeness.
The form:
File 1: [file file-1] File 2: [file file-2] File 3: [file file-3] [submit]
In the “File attachments” field add this:
[file-1] [file-2] [file-3]
Only non-empty file fields will be added to attachments, so no need to specify conditions in this case. This is the default CF7 behavior.