This is the premium version documentation page. Click here to purchase Checkout Files Upload for WooCommerce.

Contents

Introduction

This plugin is an extended version of free Checkout Files Upload for WooCommerce plugin. Pro version lets you add multiple file upload forms to the checkout (and/or thank you; my account pages).

Retrieving Uploaded Files

You can download uploaded files from admin’s “Edit Order” pages (there is “Uploaded Files” metabox in the upper right corner). Alternatively – if you wish to access files directly – uploaded files are saved in /wp-content/uploads/woocommerce_uploads/alg_uploads/checkout_files_upload/ directory on your server. Files are named by concatenating order number and file number (e.g. 1347_1.png, 1347_2.jpg etc.).

If you’re having issues with file upload form displaying on mobile devices, you can fix this by going to “WooCommerce > Settings > Checkout Files Upload > Template” and setting these values:

Before:

<div>

Label:

<p><label for="%field_id%">%field_label%</label>%required_html%</p>

Field:

<p>%field_html%</p><p>%button_html%</p>

After:

</div>

This will change the layout of checkout files form a little, but it should fix any issues with mobile devices.

General Options

Total file uploaders
Determines how many file uploaders you can configure. Save changes after you change this number to see the new settings sections appear. (See File Uploader #X)
Default: 1
Form extras: Add progress bar
Shows a green progress bar under each file when it is uploaded.
Default: no
Form extras: Enable alert on successful file upload
Displays an alert message after successful upload.
Default: no
Form extras: Enable alert on successful file remove
Displays an alert message after file removed.
Default: no
Max file size (MB)
Leave zero to disable.
Default: 0
Max file size: Allowed file size exceeded message
Message on exceeded. Replaced value: %max_file_size%.
Default:
Allowed file size exceeded (maximum %max_file_size% MB).

Emails Options

Attach files to admin’s new order emails
Default: yes
Attach files to customer’s processing order emails
Default: no

Form Template Options

Before
Default:
<table>
Label
Replaced values: %field_id%, %field_label%, %required_html%.
Default:
<tr><td colspan="2"><label for="%field_id%">%field_label%</label>%required_html%</td></tr>
Field Container
This is the main part of the file uploader.
Replaced values: %button_html% (the “Choose Files” button), %field_html% (where the uploaded files will be displayed).
Default:
<tr><td colspan="2">%button_html% %field_html%</td></tr>
Uploaded File
This is the template for each file after being uploaded.
Replaced values: %image% (a thumbnail image), %file_name% (the file name), %remove_button% (a button to remove the file).
Default:
%image% %file_name% %remove_button%
After
Default:
</table>

Styling Options

“Delete” button style
CSS styles applied to the Delete button.
Default: color:red;
Image style
CSS styles applied to the image thumbnail.
Default: width:64px;

File Uploader #X

Enable/disable
Default: yes
Required
Default: no
Allow Multiple Files
Default: no
Accepted file types
A list of accepted file types, separated by commas. E.g.: .jpg,.jpeg,.png. Leave blank to accept all files.
Default: .jpg,.jpeg,.png
NOTE: WordPress may block certain file types for security reasons, and our plugin will be subject to the same restrictions regardless of what you enter here. If you need to adjust the types of files allowed, you can do it following the steps in this article. (If you’re not sure, we recommend you do a test upload into your WordPress Media dashboard — if it works there, it will work with our plugin.)

Positions

Checkout page
Possible values: See full list here.
Default: Before checkout form
Position order (i.e. priority)
Default: 20
“Thank You” page
Default: no
“My Account” page
Default: no

Labels

Label
Leave blank to disable label.
Default:
Please select file to upload
Upload button (single)
Default: Choose File
Upload button (multiple)
Default: Choose Files

Notices

Wrong file type
%s will be replaced with file name.
Default:
Wrong file type: "%s"!
File is required
Default:
File is required!
File was successfully uploaded
%s will be replaced with file name.
Default:
File "%s" was successfully uploaded.
No file selected
Default:
Please select file to upload!
File was successfully removed
%s will be replaced with file name.
Default:
File "%s" was successfully removed.

Advanced

Require products
To show this field only if at least one selected product is in cart, enter products here. Leave blank to show for all products.
Default: None
Require product categories
To show this field only if at least one product of selected category is in cart, enter categories here. Leave blank to show for all products.
Default: None
Require product tags
To show this field only if at least one product of selected tag is in cart, enter tags here. Leave blank to show for all products.
Default: None

Troubleshooting

If you are having trouble, a good place to start is our Troubleshooting Guide. Also be sure that your site meets the Minimum System Requirements.

If you have any other issues or need further assistance, simply open a support ticket.

PHP Sessions

Checkout Files Upload requires PHP Sessions support. This is a feature built into PHP, and on the vast majority of servers/web hosts you don’t have to do anything — it just works. However if your host lacks support for PHP sessions (for example Pantheon) you may need to install the free WordPress Native PHP Sessions plugin to make it work.

Varnish, Memcached

If you are using a caching system like Varnish or Memcached, you might need to exclude the PHP Session cookie from being cached, to allow it to work properly. We do not set any special name for the PHP Session, so it will be whatever you’ve set in your PHP settings (the default name is “PHPSESSID”). If you are using Cloudways, there is an explanation of how to do this here: https://support.cloudways.com/how-to-include-or-exclude-cookies-from-varnish/.

Additionally, the following page has good info about getting Varnish and WooCommerce to work together in general: https://wpbeaches.com/using-woocommerce-with-varnish-exclude-pages-and-cookies/.

Cache Plugins

If you are using a caching plugin you might need to exclude the PHP Session cookie from being cached, to allow it to work properly. We do not set any special name for the PHP Session, so it will be whatever you’ve set in your PHP settings (the default name is “PHPSESSID”). For example if you are using WP Rocket, add the name of your PHP Session cookie (“PHPSESSID”) to the “Never Cache Cookies” list under WP Rocket / Advanced Rules:

If you are using a different caching plugin, you will want to find it’s equivalent setting and enter the same value.