- Author: Fahad Mahmood
- Project URI: http://androidbubble.com/blog/wufdc
- Multiple Attachments (For Advanced Users): https://shop.androidbubbles.com/product/woocommerce-upload-files-checkout
- Demo URI: http://demo.androidbubble.com/product/furniture
- License: GPL 3. See License below for copyright jots and tittles.
Attach files during checkout process with ease. Easy Upload Files During Checkout is a free plugin with a few premium features. It provides the facility of attaching files with orders during checkout. You can set display for uploading button on cart page, checkout page or checkout page after notes. For product pages, you will need premium version. Some check boxes on settings page to attach or detach billing/shipping details, order comments, secure file links and enable upload after login/register. You can also choose a checkbox to send attachments in email.
You can control allowed files types on settings page like doc,txt,jpeg,png in an input text field. You can set upload file required with toggle button and specify maximum upload size in Megabytes on settings page. Example is available there. It provides secure storage for your upload files/directories with Amazon, it’s a new and premium feature. Setup your account on Amazon and get safe and secure storage for your important uploads. The premium version allows you to upload multiple files, change loading animation and display browse button on product page. It also provides an optional tab, with that tab you can select products which you want to whiteflag for upload files. By default, it is enabled for all products.
If you want new users to provide some required information (ID, resume etc.) you can enable new users to upload file(s) while registering even for the first time. On settings tab check the radio button “Registration Page” next to “Display on:” and browse button will appear on registration page. If you make upload field required, a warning message will appear that file is not uploaded.
woocommerce, order, wpml
- Display on cart on page (during checkout)
- Editable caption and success message
- Set image dimensions for uploading
- Define maximum upload size
- Specify allowed file types
- Upload single file (Only one file one)
- Make upload field required
- Define error message
- Shortcode + Compatibility with Hello Elementor WordPress Themes
- Display on product page
- Display on top of the checkout page
- Display on thank you page
- Display on order view page
- Upload files to directory with Amazon (Optional)
- File thumbnails/icons with filename
- Change loading animation
- Display on registration page
- Upload multiple files during registration
- Make upload field required on registration page
- Define error message on registration page
Basic Version Demo
Premium Version Demo
Variable Products Demo
Using Hello Elementor WordPress Themes?
This WordPress Plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version. This free software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this software. If not, see http://www.gnu.org/licenses/gpl-2.0.html.
To use Easy Upload Files During Checkout, you will need:
* An installed and configured copy of [WordPress](version 3.0 or later).
* FTP, SFTP or shell access to your web host
Go to your wordpress admin “yoursite.com/wp-admin”
Login and then access “yoursite.com/wp-admin/plugin-install.php?tab=upload
Upload and activate this plugin
4- That’s it, now see your dashboard and ask Easy Upload Files During Checkout anything
- Download the Easy Upload Files During Checkout installation package and extract the files on your computer.
- Create a new directory named
Easy Upload Files During Checkoutin the
wp-content/pluginsdirectory of your WordPress installation. Use an FTP or SFTP client to upload the contents of your Easy Upload Files During Checkout archive to the new directory that you just created on your web host.
- Log in to the WordPress Dashboard and activate the Easy Upload Files During Checkout plugin.
- Once the plugin is activated, Easy Upload Files During Checkout will be displayed on your dashboard.
What are the orphan files? And how does this plugin handles orphan files?
What happens if a customer doesn’t complete the order but he has uploaded the file? Does that file gets deleted automatically?
These files are not deleted automatically. There is a tab named “Orphan Files” which will show all the orphan files either actually exist or recorded in database only and removed from the server. Select “Fetch Statistics” and click scan button to load statistics. Select “Fetch Orphan Files” and click “Scan the Database” button to load all orphan files. You can delete all orphan files in this tab, if you want.
How it works on registration page?
How to install on MAC?
How to install WordPress and WooCommerce Addon Easy Upload Files During Checkout using virtual machine having ubuntu on MAC:
Is this compatible with all WordPress themes?
Yes, it is compatible with all WordPress themes which are developed according to the WordPress theme development standards.
It’s better to post on support forum but if you need it be fixed on urgent basis then you can reach me through my blog too. You can find my blog link above.
What are the basic or free features offered?
In basic version you can upload one file, restrict file-type, set error message and caption text, disable or enable extra fields on checkout page. You can display upload field on cart page and checkout page.
What are the exenteded or premium features offered?
Premium features are those in which you might will need some customizations and it would require my input in term of time and cost. Like, a number of loading animations are provided so you can match them with your WordPress theme or choice. You can allow uploading multiple files. Upload directory can be changed over and over again without any conflict with the previous directory path.
You can display upload fields on Product page as well. Obviously this feature will involve more complexity and reporting details, that’s why it’s a premium feature.
You can restrict the image file dimensions as well, it’s another complex area and you can have some different request as another improvement.
May i restrict the upload files to a few selected products only?
Yes. By default all products will have upload fields but if you will select any checkbox so it will be restricted to the allowed/checked products only. Don’t forget that upload field will only work when a user will select a product for cart. It means, it only consider the items which are added to cart. Quantity doesn’t matter though.
There are three pages which can have upload file display.
1) Single Product Page
2) Cart Page
3) Checkout Page
Condition: If a product is in the cart so because of that product permission status, upload fields will be displayed or simply do not select any checkbox and it will work for all.
Above all, i am always open to your suggestions. Either you use FREE or PREMIUM version, whoever suggest me a feature so i acknowledge the name in changelog with thanks. This plugin reached at this level with all of your help and suggestions.
How Amazon S3 backup feature work?
Amazon S3. This feature is recently added as a beta version, basically premium features are related to multiple files and product page based upload. So Amazon related feature might will evolve in upcoming versions as we will use it in more scenarios. Your feedback would be appreciated.
How to upload files in a separate directory?
How to customize upload sequence of files?
How to upload files in order ID based directories?
Can i upload files for appointment calendar or for any other plugin?
How does it work with WooCommerce PayPal Checkout Gateway Plugin?
It detects if WooCommerce is active and also you chose checkout page for uploading files button. It also detects if WooCommerce PayPal Checkout Gateway plugin is active and the related radio button is checked? When all conditions are meeting, only then it warns you before checkout if upload file is required and nothing uploaded yet. It is a user-friendly feature added on 19th December 2020.
Contributors & Developers
“Easy Upload Files During Checkout” is open source software. The following people have contributed to this plugin.Contributors
Translate “Easy Upload Files During Checkout” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Version updated for broken links. 31/05/2023
- Version updated for WordPress. 02/05/2023
- Implementation on cart page revised. 28/04/2022 [Thanks to kyleets]
- Compatibility for Elementor theme using the shortcode. 08/04/2022 [Thanks to Pasquale – TAGIT adv]
- Cart page file uploading improved. 06/04/2022 [Thanks to Michael Kaeflein]
- Checkout page form submission refined. 22/03/2022 [Thanks to Sharon]
- Product page uploading files and order page files display have been improved. 07/03/2022 [Thanks to Claire Dekens]
- upload_max_filesize issue has been fixed. 26/02/2022 [Thanks to Claire Dekens]
- An improved version with the shortcode possibility. 23/02/2022 [Thanks to Pete Winter]
- An improved version with EPS filetype tested. 01/02/2022 [Thanks to sophiemayk]
- An improved version with error display on unfiltered filetypes. 26/01/2022 [Thanks to sophiemayk]
- Display Attachments Under Product Title refined. 13/11/2021 [Thanks to Claire Dekens / Fotoprinten op groot formaat]
- Some PHP notices are fixed. 13/11/2021
- Cart page related quantity update issue resolved. 16/11/2021 [Thanks to bitfireadmin]
- Required file check on checkout page. 27/10/2021
- Update IP based uniqueness. 15/10/2021
- Orphan files tab introduced. 21/10/2021 [Thanks to muneebkiani]
- A new version with wp_kses_post() updates. 15/09/2021
- A new version with wp_kses_post() updates. 14/09/2021
- A new version with ecs_html() updates. 14/09/2021
- A new version with ecs_html() updates. 13/09/2021
- A new version with ecs_html() updates. 11/09/2021
- A new version with updated verison of bootstrap and a few other improvements. 11/09/2021
- A new version without WooCommerce logo in the banner. 11/09/2021
- Handled a few PHP warnings and notices accordingly. 20/08/2021 [Thanks to avdbos]
- Filetype icons are revised for non-image filetypes. 19/05/2021 [Thanks to Guillaume Roosalem]
- Updated MySql query to remove an error. 15/05/2021 [Thanks to Mark Taylor]
- ORDER ID based file URL option refined. 03/05/2021 [Thanks to Guillaume Roosalem]
- ORDER ID based file URL option refined. 29/04/2021 [Thanks to Guillaume Roosalem]
- WC()->session related fix revised. 06/02/2021
- WC()->session related fix released. 05/02/2021 [Thanks to peachpay]
- Brazilian Portuguese translation added. 27/01/2021 [Thanks to Netart Lucas Nascimento]
- File type check on server side added as an option. 20/01/2021
- File type check on server side added optionally. [Thanks to Mark Taylor & Team Ibulb Work]
- Variable product uploaded items uniqueness ensured. [Thanks to Dimitri & Team AndroidBubbles]
- Custom page product shortcode compatibility and radio buttons changed to checkboxes for multi-selection on settings page. Netherlands language added. [Thanks to Dimitri & Rawinthiran]
- New option added under product title in cart tables to show filenames uploaded. [Thanks to Dimitri & Team Ibulb Work]
- Salesforce compatibility refined. [Thanks to Mark Taylor]
- WooCommerce PayPal Checkout Gateway Plugin compatibility added. [Thanks to Pete Winter & Abu Usman]
- File links instead of filename in email for attachments. [Thanks to Pete Winter]
- AI filetype checked and a few improvements made. [Thanks to Jose]
- Assets updated. [Thanks to GP Themes Team]
- Update cart button will redirect back to cart page. [Thanks to Csapó Ádám]
- Action hook provided for post order placement scripts. [Thanks to Rawinthiran]
- Description for uploaded files can be added optionally.
- Salesforce compatibility added. [Thanks to Mark Taylor]
- Uploaded files immediate and correct reflection on the product page. [Thanks to GP Themes Team]
- Enabled/Disabled functionality revised for product pages. [Thanks to José Joaquín González Haro]
- Restriction functionality revised for product pages. [Thanks to GP Themes Team & andycannan]
- Maximum upload files limit revised. [Thanks to GP Themes Team & Team Ibulb Work]
- Upload success response updated with default HTML elements to avoid complete page load in response. [Thanks to Team Ibulb Work, @andycannan and @piximo01]
- Assets updated. [Thanks to GP Themes Team]
- Registration form, upload file functionality updated.
- Registration form, upload file functionality. [Thanks to Amir Sheikhan]
- Uploaded file path issue resolved. [Thanks to morphman & andycannan]
- WPML related improvements performed. [Thanks to akelsy]
- Settings link on plugins list page was bugging – Fixed. [Thanks to Gabriel Lazcorreta]
- Shop page add to cart was redirecting to the first product – Fixed.
- Only variables should be passed by reference – Fixed
- Tabs switching refined.
- Updated sanitization. [Thanks to WordPress Plugin Review Team]
- Checkout page, required items were being ignored on upload. Fixed. [Thanks to Manas Mitra]
- Product page, add to cart button was behaving odd, fixed. [Thanks to J.J. González Haro]
- Checkout page / top of the page (beta) feature added. [Thanks to Marco]
- Refined version for AWS backup functionality. [Thanks to Ibulb Work Team]
- Product page, add to cart button was behaving odd, fixed. [Thanks to J.J. González Haro]
- Product page was redirecting to cart page, fixed. [Thanks to J.J. González Haro]
- Product based maximum allowed and mandatory files option added. [Thanks to @acuasif]
- ORDER ID based links corrected in admin emails. [Thanks to @acuasif]
- Uploads directory path related user experience improved. [Thanks to @acuasif]
- Releasing another version for WPML Plugin “sitepress-multilingual-cms”. [Thanks to J.J. González Haro]
- Refining checkout page refresh option. [Thanks to razie94]
- Beta methods added for upload field. [Thanks to GP Themes Team]
- Fixed product page based restriction issue. [Thanks to J.J. González Haro]
- Improved image manipulation and settings page. [Thanks to Ibulb Work Team]
- Added image dimensions on edit product page as well. [Thanks to Ibulb Work Team]
- Added open form for other pages of WooCommerce as well. [Thanks to Amy Roseman]
- Updating assets. [Thanks to GP Themes Team]
- Page refresh is just an option now. Settings page improved as well. [Thanks to Felipe Tao]
- Fatal error related global variable $product get fixed. [Thanks to Amy Roseman]
- eufdc_get_uploaded_temp_files related fatal error fixed. [Thanks to rvnd]
- Released an improved version for WPML Plugin “sitepress-multilingual-cms”. [Thanks to J.J. González Haro]
- FAQs updated. [Thanks to GP Themes Team]
- Worked on WPML compatibility. [Thanks to J.J. González Haro]
- Added a new feature to turn filetype icons and image thumbnails ON. [Thanks to thealika]
- An important CSS fix made. [Thanks to Sergio Zapatero]
- Another PHP notice fixed.
- Translation strings revised. [Thanks to GP Themes Team]
- Improved translation strings. [Thanks to J.J. González Haro]
- Improved version with a few important checks. [Thanks to Joshua McFaul & Navid]
- Improved layout with bootstrap. [Thanks to Ibulb Work Team]
- With a few more improvements. [Thanks to Ibulb Work Team]
- Amazon connectivity and sync features added. [Thanks to Ibulb Work Team]
- Listing all items from current month bug has been fixed. [Thanks to Nico Franke]
- Undefined index notice fixed. [Thanks to Fahad Mahmood & Ibulb Work Team]
- A few tweaks on back-end. [Thanks to Rui Guerreiro]
- Extra order note has been wrapped with a condition. [Thanks to soothaa]
- Order ID based directory path related issue resolved.
- Order ID based directory creation and files uploading feature refined.
- Order ID based directory creation and files uploading to relevant order id directory. [Thanks to Rui Guerreiro]
- Product page, field required JS interval implemented for lazy pages. [Thanks to Rui Guerreiro]
- Fatal error fixed on request. [Thanks to Affordable Imprints, Diego Rodriguez and JASON VELÁZQUEZ]
- Simple and Variable product page positions selection refined on single product page. [Thanks to Sophie Kunterbunt]
- Custom error message and file required option improved on single product page. [Thanks to Diego Rodriguez]
- Savy function improved on single product page. [Thanks to Beata Galova]
- In premium version, red color premium image will get green. [Thanks to Beushin]
- Checkout page with page refresh option, CSS refined. [Thanks to Steve Penner]
- Download upload directory featured added in premium version. [Thanks to Ms. Rommel]
- Savy change event triggered on load. [Thanks to Katja Rommel]
- Product page hooks added on settings and improved redirections on front-end. [Thanks to Steve Penner]
- Languages reviewed. [Thanks to Rais Sufyan]
- Browse buttons display condition at once and one at a time, a new feature introduced. [Thanks to Brett Polakowski]
- Product page will not forget the selections on refresh now. [Thanks to Katja Rommel]
- Added a few checks on checkout page. [Thanks to Damon Henrichs]
- Added a few checks on eufdc initlize area. [Thanks to Katja Rommel]
- Added another condition for post_parent=0. [Thanks to WP Docs Plugin Team]
- Product page position changed. [Thanks to Ms. Rommel]
- German & French languages are added. [Thanks to Abu Usman]
- WooCommerce installed/activated check. [Thanks to Nick]
- Spanish translation added. [Thanks to J.J. González Haro]
- Product page reload feature revised.
- Synchronous XMLHttpRequest related patch added. [Thanks to J.J. González Haro]
- Settings page updated with upload_max_filesize and post_max_size. [Thanks to J.J. González Haro]
- Another PHP Warning has been fixed. [Thanks to pbatson]
- Another PHP Notice has been fixed. [Thanks to Stefano]
- Order ID related PHP snippet improved. [Thanks to Infocon]
- wc_get_cart_url and wc_get_checkout_url implemented with conditions. [Thanks to displaysales]
- wc_checkout_order_processed related script reviewed and improved. [Thanks to Mihail Tirdea]
- Cart page ajax reload revised. [Thanks to Dennis Schmelter]
- Single products can have dedicated attachments now. [Thanks to Jon Stanton]
- Single product, cart and checkout pages are tested again with required check. [Thanks to Matthias Collomp]
- Single product page hook updated. [Thanks to Jon Stanton]
- Proceed to checkout button hyperlink handled for file required check. [Thanks to Matthias Collomp]
- Added an additional check for single product page. [Thanks to Daniel Garcia]
- WooCommerce checkout page files uploading has been improved by handling useless errors. [Thanks to Katja Rommel]
- Single product can have upload file buttons without adding to cart, product should be selected from optional tab in settings first. [Thanks to Daniel Garcia]
- Added an additional option to restrict users to login/register prior file upload. [Thanks to Silvia Todorova]
- Added an additional form class to cover WooCommerce cart-form in recent version. [Thanks to Daniel Garcia]
- Introduced a secure way to access the uploaded files without revealing the path to the public users. [Thanks to thomassultana]
- Proceed to checkout button avoided on cart page in recent version. [Thanks to fancyaddict]
- A few HTML elements are revised and rechecked the uploaded files URL. [Thanks to Suzanne Jones]
- Upload directory is available with writable status and it’s parent directories as well. [Thanks to Anthony Geraud]
- https related ABSPATH and home_url() issue fixed. [Thanks to Grahesh Parker]
- History pushstate related issue traced. [Thanks to Tor André Sandum]
- Excluded a-save-ignore class from jQuery savy script. [Thanks to Thomas Sultana]
- Optional settings are added with selection of products to restrict upload files. [Thanks to Daniel Garcia]
- Uploading images checkout page and unfiltered types area revised. [Thanks to Katja Rommel]
- WooCommerce product reviews submission related issue resolved. [Thanks to ash chop]
- WooCommerce session hook changed to wp for better results.
- Fatal error fixed related to get_cart(). [Thanks to Archie & Adolit]
- Fatal error fixed, updated plugin and used alternative instead of get_cart_contents_count(). [Thanks to Archie]
- Uploading images from product page. [Thanks to maazsharifkhan34]
- Loading animation image can be changed.
- And a few more important improvements.
- Uploading images checkout page, WooCommerce errors related issues fixed. [Thanks to Katja Rommel]
- Uploaded file path corrected with home_url() duplication. [Thanks to Giulio Soligo]
- Page refresh after each upload on checkout page added on settings page as an option. [Thanks Jeffrey Stilwell]
- Uploading images under notes not working, fixed. [Thanks to Katja Rommel]
- Automatically placing order after upload, fixed. [Thanks Jeffrey Stilwell]
- Improved the uploaded items list, will show nothing if not uploaded anything. [Thanks to Dekadinious]
- Uploading images without page refresh. [Thanks to Katja Rommel]
- Automatic updates for premium version added.
- Separate uploads directory feature added. [Thanks to Dennis Schmelter]
- Proceed to checkout button text issue resolved. [Thanks to Kim & Angel Domino Evers]
- Layout disturbance controlled. [Thanks to Mike]
- Plugin will not generate thumbnails for file type images.
- Multiple attachments in email with pending status of WooCommerce Orders. [Thanks to Dennis Schmelter]
- Uploading feature refined on checkout page.
- Upload feature refined on checkout page. [Thanks to Choy Jin Xiang]
- For password protected pages/posts, an exception has been added. [Thanks to MediaWorks]
- Image dimensions related improvements made. [Thanks to Dax Castro]
- Sanitized input and fixed direct file access issues.
- Required file error thing managed. [Thanks to x2keys]
- Redirect glitch has been sorted out. [Thanks to Geetar]
- Upload and proceed to checkout module refined. [Thanks to Dalan Decker]
- Upload and proceed to checkout module improved. [Thanks to Alexis Lassartre]
- Problem with error messages has been resolved. [Thanks to arikver]
- Braintree related payment processing compatibility added. [Thanks to Georg Winkler]
- For password protected pages, an exception has been added. [Thanks to Mark]
- Multiple attachments in email > problem has been fixed. [Thanks to Alex Hoogeboom]
- Checkout Page > After notes added. [Thanks to Andy Towler]
- Cart page > empty fields > redirect to checkout. [Thanks to Michael Quiles]
- HTML elements can be used in caption and error boxes. [Thanks to Sam Strayer]
- Plugin is now translatable.
- Session removed from init. [Thanks to Brandon D]
- Uploaded files are visible in customer order receipt email. [Thanks to Peter Outshoorn]
- Uploaded files are visible in my account > orders and order confirmation page. [Thanks to alexander77]
- Attachment path issue resolved. [Thanks to Tim Burgess]
- Shipping and billing details can be optionally disabled in WooCommerce checkout process.
- Plugin is available in other languages too. Initially offered in Brazilian Portuguese. [Thanks to Anderson Gomes]
- An important conditional tweak. [Thanks to leonbax & ladyinc3]
- Cart and Checkout pages validation refined again.
- Cart and Checkout pages validation refined. [Thanks to Daniel Mesteru]
- Enque style and script related fix. [Thanks to thaikolja]
- An important update. [Thanks to Luan Cuba]
- An important update. [Thanks to Thomas LEFEVRE]
- An important update. [Thanks to Dave Jones]
- An important update.
- An important update.
- An important update.