Configure product-specific terms
Each product can have any number of terms rows. Every row contains URL, the policy link customers read, and PDF URL, an optional address used by the server to obtain a PDF copy for the order emails.
Add policies and PDF copies
- Publish the policy page and prepare its PDF copy.
- Open Products → All Products → Edit for the product.
- Select Product data → Terms & Conditions.
- Choose Add terms for each policy.
- Enter the customer-facing address in URL.
- Enter its PDF address in PDF URL when a document must be attached. Leave this field empty for a link-only policy.
- Update the product.
- Open the product while signed out, follow each policy link, and inspect the complete list at checkout.
- Place a verification order and confirm the email contains the expected PDF attachments.
Variations inherit the complete parent list. Remove terms removes a row for future checkouts; it does not remove evidence already recorded with orders.
Include the shop's general terms
- Keep Product specific Terms & Conditions enabled in POM Tweaks.
- Open WooCommerce → Settings → Advanced → Page setup.
- Select a published, publicly readable Terms and conditions page.
- Enable General terms PDF → Capture and attach the general terms accepted at checkout.
- Leave General terms PDF URL empty if an installed provider resolves that selected page automatically. Otherwise enter a supported PDF address containing the same complete terms, language, and version.
- Save the settings, check the customer-facing terms link, and place a verification order, including one with no product-specific policies.
General capture is off by default. Once enabled, a missing page, unresolved PDF address, or unavailable PDF stops new checkouts rather than silently omitting the general terms. Language filters on WooCommerce's terms page are respected; an external fixed PDF URL must match the language actually displayed. Automatic resolution requires a provider that supports the current site and page.
Classic Checkout keeps WooCommerce's native general-terms checkbox and uses the separate product checkbox only when product policies apply. General capture leaves the native checkbox initially unchecked, overriding checked-by-default settings. The Checkout Block lists the general terms with the product policies under the tweak's explicit acceptance checkbox.
General and product copies share the 5 MiB limit and identical files are attached once. Turning off General terms PDF stops future general capture, but earlier orders retain their copies and still attach them while the tweak remains enabled. Removing the entire tweak disables all its attachment handling.
Supported addresses
URL accepts absolute HTTP(S) addresses, protocol-relative addresses, root-relative paths, same-product fragments, and same-product query strings. Relative values become complete links for checkout and email. Fragments and queries use the product permalink; root-relative paths use the current site.
PDF URL requires an absolute HTTP(S) address. Public PDF addresses must be accessible to the server without browser cookies. Private addresses require an installed server-side provider that supports that address. A private browser download address alone does not authorize an unrelated WordPress installation to retrieve it.
PDF addresses are not shown in the storefront or published in checkout cart data. Customers receive the captured documents as email attachments. A PDF supplied by a private provider must be ready and current before checkout can record acceptance.
The combined distinct PDF size for an order is limited to 5 MiB. Identical PDF contents are stored and attached once. PDF addresses that return an error, a login page, non-PDF content, or oversized content cannot be used to complete checkout. An HTTPS URL is recommended for public documents.
Saving behavior
- Completely empty rows are ignored.
- A row with a PDF address also needs a customer-facing policy URL.
- An unsupported non-empty address rejects the submitted list and preserves the previous configuration.
- Removing every row removes the requirement for future carts containing only this product.
- Two products sharing the same URL and PDF URL use one policy entry listing both products. Different PDF addresses remain separate policy entries.
- Saving validates address formats. The PDF is retrieved and validated when checkout captures acceptance.
Keep the accepted documents
Checkout preserves the policy links, product names, acceptance time, and the exact configured PDF bytes. Subsequent policy edits affect future orders. Resending an existing order email uses its accepted copies, even when the original PDF changes or disappears.
Link-only rows preserve the accepted URL rather than the linked document. Older orders without captured PDFs do not acquire today's documents as supposed historical evidence. A generated PDF contains its source page, not the full contents of every page it links to; configure each additional required document separately.
If checkout reports that a terms PDF is unavailable, verify the address, document readiness, provider availability, and combined size. If a stored attachment is missing or damaged, the affected email is stopped and the error is recorded in WooCommerce → Status → Logs under pom-tweaks-product-terms; repair the original evidence before resending.