Vanquish Attach Me for WooCommerce

Description

Vanquish Attach Me for WooCommerce puts files where an order or a product needs them: a proof to approve, an invoice, a manual, a certificate, a design to sign off. You upload the file (or pick one from the media library, or point at a URL), and the customer finds it on their order page, in the order emails, or on the product page — whichever you choose, per file.

Uploaded files are not left where a URL can find them: they sit behind server rules and an unguessable path, and they are served through an endpoint that checks who is asking — the customer who placed that order, or somebody who can manage the shop. That is not a setting you can turn off — it is the only correct way to serve a file attached to an order, so it is simply how the plugin works.

Large files go up in pieces, so your server’s per-request upload limit is not the limit on what you can attach.

Free features

  • Attach any number of files to an order: upload them, choose them from the media library, or link to an external URL.
  • A title and a description for each file, shown to the customer.
  • Attach files to products, with a choice of which variations they apply to.
  • Show a product’s files on the product page, on the order page after buying, or both.
  • Files attached to the standard WooCommerce emails (processing, completed, invoice, refunded) and to custom emails registered by other plugins, chosen per file.
  • A block inside the order emails with your own wording and the download links, with placeholders for [order_number], [customer_name] and [order_page_link].
  • Hide a file while the order is in a given status.
  • Image previews, at a thumbnail size you choose, and a configurable position for the attachments box on the order page.
  • A “View attachments” button in the customer’s order list, an attachments tab on the product page.
  • An attachments column in the admin orders list, a “Manage” modal for handling them without opening the order, a filter for orders that have attachments, and a bulk action to delete them.
  • Every customer-facing text is editable — and, with WPML or Polylang active, editable per language.
  • Template overrides from your theme, HPOS (High-Performance Order Storage) support.
  • Migrates automatically from the legacy “WooCommerce Attach Me!” (CodeCanyon) plugin: settings, product attachments and every order’s files.

Premium features

  • Bulk product rules — one rule attaches a file to many products or categories at once, including or excluding what you pick, with or without child categories. No opening a thousand products.
  • Customer approval — ask the customer to approve a file from their own order page, with a comment box. Their answer can move the order to another status, email you, and leave an order note. Re-approval and per-file rules for when the comment is offered.
  • Expiry — a file that stops being available on a fixed date, or a set time after the order. It disappears from the order page, the download link stops working, and the file can be deleted from the server automatically.
  • Download limits and a required disclaimer — a maximum number of downloads per file, and terms the customer must accept before the first one.
  • Visibility by user role, including visitors who are not signed in, on product attachments and bulk rules.
  • Automatic email files — a file that goes out with every copy of a chosen email, whatever the order contains: terms on every invoice, a returns form on every completed order. Any email WooCommerce sends, including new account and new order.
  • A message written by hand — send the customer an email from the order screen, with whichever of that order’s files you choose attached or linked, in your shop’s own email template. It leaves an order note saying what went out.
  • A library of preset texts — messages written once and offered under every editor, so a shop that says the same thing on every order writes it once.
  • CSV import — one row, one link, one order, for a shop that already produces its files somewhere else.
  • My Account Downloads — the attachments listed on the page that claims to list everything the customer can download, with a column for files still waiting for approval.
  • Shortcodes — put the attachments, or a single download link, on a page of your own. Each shows nothing at all unless the person reading the page is entitled to that order.
  • Files only in the emails — attached to the notification but never shown on the site.
  • Copy the download link with one click, on the customer’s side.

External services

The free version does not send any data to external services. Files you upload stay on your own server, and the download links point at your own site.

This plugin uses Freemius to manage licensing and updates for the premium version, and to offer an optional opt-in when you first activate it. Nothing is sent unless you opt in or activate a licence; if you do, Freemius receives your site URL, WordPress and PHP versions and your administrator email address, in order to deliver updates and support. See freemius.com, its terms and its privacy policy.

The premium version adds no external services of its own: bulk rules, approval, expiry, automatic emails and the manual notification all run on your site, and the emails go out through WooCommerce.

Screenshots

Installation

  1. Upload the plugin files to the /wp-content/plugins/vanquish-attach-me-for-woocommerce directory, or install the plugin through the WordPress plugins screen.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Make sure WooCommerce is installed and active.
  4. Configure the plugin from the “Attach Me” menu.

FAQ

Where are the uploaded files kept?

In a folder inside your uploads directory, three ways round at once. The plugin writes the rules that close a directory to direct access, in the forms Apache and IIS understand. Because nginx honours neither, the path is unguessable as well: each order’s files sit under a directory name derived from a secret the plugin generates for your site, rather than from the order number, and every stored file keeps its own name with twelve random characters added.

And the way in is the only way in: every download goes through a signed link, which checks whether the person asking placed that order or can manage the shop.

There is no switch for any of this. A file attached to an order is private by definition, and an option to serve it insecurely would only ever be turned on by mistake.

Can I attach a file that is bigger than my server’s upload limit?

Yes. Files are sent to the server in pieces small enough to clear upload_max_filesize and post_max_size, so neither caps what you can attach. The screen shows the maximum it will accept.

What about files in the media library, or on another server?

Both work. A media library file keeps its own public address in wp-content/uploads — that is how the media library works — so if a file must not be reachable by anyone holding its URL, upload it through the plugin instead of adding it to the library. An external URL is only ever a link: the plugin does not fetch somebody else’s file to attach it to your emails.

Does it work with HPOS (High-Performance Order Storage)?

Yes, with HPOS and with the classic order storage.

I am migrating from the CodeCanyon “WooCommerce Attach Me!” plugin. Do I lose anything?

No. Your settings, your texts, the files on your products and the files on every order are converted for you. The importer runs from Attach Me Settings Import old data, shows how much is left as it goes, and finishes in the background if you close the tab. An order is also converted the first time somebody opens it, whatever happened before.

Your files stay where they are on disk and keep working, and the old plugin’s download links are still understood. A customer with an account follows one after signing in, and so do you.

A link to a guest order’s file needs one thing more than the link. Those old URLs were built as ?wcam_id=<order number>-<0, 1, 2...>, which anybody can type out, and a guest order has no account to check the visitor against — so on its own such a link is not proof of anything, and is refused. It works when the request also carries the order key, which is the token WooCommerce puts in the order links it emails: following the file from the customer’s own order page works, pasting the bare old URL does not.

The old plugin’s data is left in place rather than deleted, so nothing is destroyed by importing. You can keep both installed while you check the result, then deactivate the old one.

Do the premium features change how the free ones behave?

No. The premium package is the same plugin with more in it. Everything described above under “free features” works the same either way, and the settings you have already made are untouched by activating a licence.

Can I change the wording the customer sees?

Yes, all of it, under Attach Me Settings: the box title, the button, the empty message, the email block. With WPML or Polylang active, each text has one input per language.

What happens if I uninstall the plugin?

Nothing of yours is removed. Your settings and your wording stay, the files attached to your orders and products stay, and the files on disk are left alone — so reinstalling puts you back exactly where you were. Only two things go: the plugin’s scheduled events, which would otherwise keep firing for a plugin that is no longer installed, and its caches, which would expire on their own anyway.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Vanquish Attach Me for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Fixed: on stores using the classic order storage (HPOS switched off), the importer counted every order as legacy data, showed the import notice on sites that never had the old plugin, and could keep running without finishing.
  • Fixed: the automatic deletion of expired files (Premium) stopped after the first 200 orders with attachments.

1.0.0

  • First release. A rewrite from scratch of the CodeCanyon “WooCommerce Attach Me!” plugin, with an automatic importer for its settings, product attachments and order files.
  • Uploaded files are served from a protected folder through a signed, access-checked endpoint, always — not as an option.
  • Chunked uploads, so the server’s per-request limit is not the limit on attachment size.
  • HPOS support, template overrides, and every customer-facing text editable per language with WPML or Polylang.