| 开发者 | doeri |
|---|---|
| 更新时间 | 2026年10月3日 23:36 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[fdwb_button] shortcode to place the link on any other page.Not safely. Article 11a asks for the words "withdraw from contract here" or an equally clear phrase. A label a customer does not recognise as the withdrawal function is unlikely to meet the requirement, and "Cancel" reads as abandoning an order that has not shipped yet.
Yes, and you should. Each of the five has WooCommerce's standard Additional content box, and the three the customer reads, the acknowledgement and the two decisions, also let you replace the highlighted paragraph at the end, the one that tells the customer where they stand. The default wording promises that you will write separately about returning the goods and about the refund, which is true of most shops and not of all; if your process differs, say what yours is. Leave the field empty and the built in wording comes back, in the customer's language. On the acknowledgement, keep whatever wording you choose to the point that receiving a declaration is not the same as accepting it. That sentence is what stops a customer reading the email as a decision you have not made yet. Separately, the Accept and Reject buttons sit under a note field. Whatever you write there is sent to the customer with the decision and kept on the request. It is optional when accepting. When rejecting it is worth the thirty seconds: a refusal with no reason is one the customer cannot answer and you cannot defend later.
Beyond any national penalty, one consequence applies across the EU. When the shop does not give the information Article 6(1)(h) requires, which now includes the existence and placement of the withdrawal function, Article 10 extends the withdrawal period by twelve months. If the information is supplied later, the period ends fourteen days after the customer receives it.
Yes, all three. Loco Translate reads the bundled template and any language pack WordPress has installed, so you can change any wording in the plugin without touching a file. Save to Loco's Custom location: it survives both plugin updates and language pack updates. WPML and Polylang both work. The link to the withdrawal page is resolved per language, so a German visitor is sent to the German page rather than to a copy they cannot read: the plugin asks the wpml_object_id filter, which WPML defines and Polylang implements in its compatibility layer. The cache exclusion covers every translation of the page, not just the original, which matters more than it sounds: a translated copy that slipped through would be cached, and a cached withdrawal page shows one customer another customer's session. A wpml-config.xml exposes the withdrawal link label for translation. The five emails are ordinary WooCommerce emails, so WooCommerce Multilingual already offers their subject, heading and body for translation alongside every other WooCommerce email.
Yes, from the request's own screen, and it is the right thing to do for spam, duplicates and the test entries every shop leaves behind while setting up. It never happens silently. Before the row goes, the whole record is written to the WooCommerce log under Status, Logs, and the order it belonged to gets a note naming the reference, the time the declaration was received and who removed it. Neither can be deleted from inside this plugin. That matters, because a withdrawal declaration is the record that a customer exercised a legal right on a particular date, evidence that protects the shop as much as the customer, and a record that can vanish without trace is not evidence at all. There is deliberately no bulk delete. Removing legal records is not something to do fifty at a time by accident. When the comparable plugins were checked on 29 August 2026, only one of six offered deletion at all; it also logged the record first and noted it on the order. The other five had no delete button of any kind.
By default it is kept, and the erasure report says so and why. The declaration is the record of a legal act and your evidence that you honoured it. If you would rather it went, switch on Erasure requests under Withdrawal, Advanced: the name, address and free text are then replaced with anonymised values while the declaration, its reference and its date survive. Any pending access links for that address are deleted either way.
On each order in the order list under My Account, and only on orders still within the withdrawal window with something left to withdraw. It is on by default and can be switched off under Withdrawal, General. There is deliberately no separate My Account tab: a tab needs a rewrite endpoint, and a rewrite endpoint that does not flush cleanly on activation produces a 404 exactly where a customer is trying to exercise a legal right.
No, and they must not have to. The plugin verifies a guest by sending a link, valid for thirty minutes, to the email address on the order, so the order is never shown to somebody who merely typed in an order number.
Yes. The withdrawal page excludes itself from caching using the standard signal that WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache and WP Fastest Cache all honour. Behind a CDN such as Cloudflare, switch on "Behind a CDN or reverse proxy" under Withdrawal, Advanced, and if the CDN uses a "cache everything" rule, add a bypass rule for the withdrawal page as well.
Yes. The plugin declares HPOS compatibility, uses only WooCommerce order APIs, and is tested with both HPOS and the older posts storage.
Yes. FDesign, the author of the plugin, offers installation, a review of the email wording against your returns process, and monthly care. The details are on the plugin's page on fdesign.com.gr. The plugin works fully without these services.