market-it! EU Guarantee Notice for FluentCart

Description

From 27 September 2026, Commission Implementing Regulation (EU) 2025/1960 requires online sellers in the EU to prominently display a harmonised notice reminding consumers of their statutory legal guarantee — before they complete a purchase.

market-it! EU Guarantee Notice for FluentCart places the official EU notice on your FluentCart store for you: the right language, in a place you choose, presented the way the Commission’s own practical guidelines show it — without you redesigning or editing the artwork yourself.

This plugin displays the general legal-guarantee notice only. It does not cover the separate, optional GARAN durability label, which only applies if you voluntarily offer a commercial guarantee of more than two years covering the whole product at no extra cost. It’s also a different, separate requirement from FluentCart’s own built-in “customer rights”/withdrawal-rights notice — that covers the right of withdrawal; this plugin covers the legal guarantee of conformity.

Requires FluentCart.

A note on this being a young companion plugin

This is the FluentCart edition of a plugin market-it! already ships for WooCommerce. FluentCart itself is still a young platform, built differently from WooCommerce under the hood, so please read “Placement” below before relying on it: automatic placement is implemented against FluentCart’s confirmed, real markup and hooks, but hasn’t yet been through the range of themes and store setups the WooCommerce edition has. The [miegnfc_guarantee_notice] shortcode always works regardless, and is the dependable fallback if a checkbox above doesn’t render where you expect.

Key features

  • Ships the official EU notice artwork, colour version, for all 24 official EU languages — nothing is redrawn, recoloured or edited
  • Fully automatic per-locale display: the right notice image and the right “Your Europe” link are chosen for the visitor’s language with no setup required
  • Popup display by default: a short link reveals the full notice on click, matching the guidelines’ product-page and checkout examples
  • Popup trigger text is translated automatically too (English, German, Swedish, Spanish, French, with English as the fallback for other languages) — or override it with your own wording, shown as-is to every visitor
  • “Always visible” display mode for placements where a popup doesn’t fit (e.g. templates you use for order confirmation emails)
  • Automatic placement on the product page and/or checkout — check as many as you like
  • [miegnfc_guarantee_notice] shortcode for placing it anywhere else (page builders, widgets, the site header/footer, specific templates)
  • Language detection (Polylang, WPML, and site locale), with a configurable fallback for the rare visitor whose language can’t be determined at all
  • Notice links to the exact “Your Europe” page for the visitor’s language — the same destination required for the QR code, sourced from the Commission’s published URL list
  • No customer or order data is read, stored or transmitted by this plugin

How the notice is shown

The European Commission’s practical guidelines illustrate the harmonised notice appearing behind a short sentence such as “Your legal guarantee rights”, revealed on the first click or mouse roll-over. This plugin’s default Popup display mode reproduces exactly that pattern: a text trigger, styled like any other link on your site, and the full official notice image in a dismissible, centered dialog (closes on its own close button, on clicking outside, or on Escape).

Switch to Always visible under EU Guarantee Notice (its own item in your admin menu) if you’d rather the full notice image appear directly wherever it’s placed — this is also the only sensible option for content that can’t run JavaScript, such as an order confirmation email template.

Placement

Configure automatic placement under EU Guarantee Notice in your admin menu — check either or both:

  • Product page and quick-view popups (near the Add to Cart / Buy Now buttons)
  • Checkout, before the payment method options

Leave both unchecked and the notice only appears where you place the shortcode yourself.

Checkout uses FluentCart’s own fluent_cart/before_payment_methods action hook — a real, confirmed hook FluentCart fires while building its standard checkout page — so this fires reliably on FluentCart’s standard checkout.

Product page and quick-view popups are handled differently, because FluentCart doesn’t (yet) expose a confirmed hook for “right after the Add to Cart / Buy Now buttons” specifically. Rather than guess at one, this renders the notice hidden and has a small script watch the page for FluentCart’s own buttons markup and place a copy next to it — wherever that markup appears, including inside FluentCart’s “quick view” product popup opened from a shop or category grid, not only the classic single product page. If your theme or a customisation changes that markup, the notice may not find its anchor and will simply stay hidden rather than show up somewhere unexpected — check your product pages and quick-view popups after enabling this, and use the shortcode there instead if it doesn’t appear.

Not currently covered automatically: FluentCart’s “Instant Checkout” on-page popup mode, if you use it instead of (or alongside) the standard checkout page. Use [miegnfc_guarantee_notice] there instead until this is added.

There’s no automatic “site header” or “site footer” option, deliberately: those are regions your theme or page builder generates itself, and this plugin has no reliable way to detect where inside them a plugin-injected block of markup will actually land. The shortcode doesn’t have that problem: use [miegnfc_guarantee_notice] anywhere — a header or footer template, a page builder’s own layout, widgets, an order confirmation email template — and it renders exactly where you put it.

For an order confirmation email template — which can’t run JavaScript, so use Always visible — add [miegnfc_guarantee_notice] to the template yourself, or call MIEGNFC_Notice::instance()->render() directly from your own hook.

Language handling

The plugin bundles the official notice for all 24 EU languages and shows it fully automatically: it detects the visitor’s language (Polylang or WPML if active, otherwise the site locale), shows the matching notice image, and links it to that language’s official “Your Europe” guarantee-information page. Nothing needs configuring for this to cover every official EU language. The “Default / fallback language” setting only matters on the rare request where a visitor’s language can’t be determined at all.

The trigger link (shown when “Display” is set to Popup) is automatic too, by default. The plugin ships its own translation of the trigger text — English, German, Swedish, Spanish and French, see /languages — and shows the one matching the notice’s language, independently of the site’s own admin locale and without needing Polylang or WPML for this specific piece of text. Every other supported notice language falls back to the English wording.

If you’d rather every visitor see the exact same wording — in one language, worded your way — type your own text under EU Guarantee Notice, “Trigger link text”: whatever you type there is shown verbatim to every visitor, in every language, instead of the automatic translation. Leave it blank to keep the automatic behaviour. Developers who want the automatic default translated into additional languages, or an override that varies by language itself, can use the miegnfc_trigger_text filter, which receives the notice’s resolved language code.

Source of the bundled artwork and links

The notice images and the per-language link destinations are taken, unmodified, from the European Commission’s “Practical guidelines for sellers and producers on the EU harmonised notice and label for product guarantees” and its accompanying high-resolution vector file download:
https://commission.europa.eu/publications/high-resolution-vector-files-eu-notice-and-label-product-guarantees_en

© European Union. Reused under the Commission’s default document reuse policy (Commission Decision of 12 December 2011, equivalent to Creative Commons Attribution 4.0), which permits redistribution — including in commercial software — provided the source is credited, as it is here.

FluentCart™ is a trademark of WPManageNinja LLC. This plugin is an independent, third-party extension and is not affiliated with, endorsed by, or sponsored by WPManageNinja or the FluentCart project.

Privacy

This plugin does not process any personal or order data. It renders a static notice image and a link to an EU information page; nothing is stored, logged, or sent to market-it! or any other external service.

Legal disclaimer

market-it! EU Guarantee Notice is a software tool designed to help FluentCart merchants display the official EU legal-guarantee notice. It is provided for informational and operational purposes only and does not constitute legal advice. Merchants remain responsible for ensuring that their website and business processes comply with all applicable laws in their jurisdiction, including confirming the notice artwork, placement, and link destination remain current.

Legal requirements may vary between countries and may change over time. Seek advice from a qualified legal professional where needed.

market-it! does not guarantee legal compliance and accepts no responsibility for how the plugin is configured, implemented, or used.

Screenshots

Installation

  1. Upload the plugin folder to /wp-content/plugins/ (FluentCart must already be active).
  2. Activate market-it! EU Guarantee Notice for FluentCart.
  3. Go to EU Guarantee Notice in your admin menu and check the placement(s) you want, choose a display mode, and (if using Popup) optionally write your own trigger link text.
  4. Check your product page and checkout to confirm the notice appears where you expect — see “Placement” above.
  5. If you trade in a language outside the EU’s 24 official ones, add the matching official SVG to assets/notice/ (see “Source of the bundled artwork and links” above).

FAQ

Does this plugin cover the GARAN durability label?

No. It displays the general legal-guarantee notice required for all sellers. The durability label only applies if you voluntarily offer a guarantee of more than two years on the whole product at no extra cost, and is out of scope for this plugin.

Is this the same as FluentCart’s own customer-rights notice?

No. FluentCart has its own built-in notice for the right of withdrawal (a separate EU requirement). This plugin covers the legal guarantee of conformity, which FluentCart does not currently display.

Does the plugin store any customer data?

No. It only renders a static notice image and link; no personal or order data is read, stored, or transmitted.

Can I edit the notice image?

No — and you shouldn’t. The regulation requires the official artwork to be used unmodified. The plugin only controls where, how (popup or always visible), and in which language it appears.

Why isn’t there an automatic “site header” or “site footer” placement?

Those regions are generated by your theme or page builder, so there’s no reliable, universal hook this plugin can use that’s guaranteed to land inside the area’s own styling. Use the [miegnfc_guarantee_notice] shortcode in your header/footer template or builder instead; it always renders exactly where it’s placed.

Does it work with FluentCart’s “Instant Checkout” popup?

Not automatically yet. Use the [miegnfc_guarantee_notice] shortcode there in the meantime.

Does it support multilingual sites?

Yes. It detects Polylang and WPML if active, otherwise the site locale, with a configurable fallback language.

Is this plugin legal advice?

No. It is a software tool for displaying the official notice. You remain responsible for confirming the artwork, placement and link destination continue to meet the regulation.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“market-it! EU Guarantee Notice for FluentCart” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • First stable public release.

0.3.3

  • Fixed: the short description (the line under the plugin’s title) was 151 characters — one over WordPress.org’s 150-character limit — which triggered a “Short Description is too long and was truncated” readme warning. Shortened, no meaning lost.

0.3.2

  • Fixed: on a site whose own locale matches the notice’s resolved language (e.g. a Swedish site showing the Swedish notice), the popup trigger link text (“Your legal guarantee rights”) showed in English instead of that language. Since this plugin no longer bundles a /languages translation catalog of its own (see the 0.2.0 entry below), there was nothing for WordPress’s standard translation lookup to find in that case, and it silently fell back to the untranslated English source instead of using this plugin’s own bundled translation under includes/i18n/. The notice image and its link were never affected by this — only the trigger link text.

0.3.1

  • Fixed: the automatic product-page/quick-view placement was anchoring to the wrong CSS class (fc-product-buttons-wrap) — it never matched anything, on the product page or in quick-view, so the 0.3.0 fix didn’t actually take effect. Corrected to FluentCart’s real markup class, fct-product-buttons-wrap (confirmed against FluentCart’s own source, ProductRenderer::renderBuySection()). No other changes.

0.3.0

  • Fixed: the automatic product-page notice didn’t appear inside FluentCart’s “quick view” product popup (opened from a shop or category grid), because that popup is built and inserted into the page by JavaScript well after the page loads, and the plugin was only scanning once, on page load. Placement is now driven by a MutationObserver that keeps watching for FluentCart’s buttons markup for as long as the page is open, so it also catches quick-view popups, a product reopened more than once, and multiple products’ buttons appearing at the same time — each gets its own copy of the notice.
  • The hidden notice template used for automatic product-page placement is no longer restricted to pages the plugin recognises as a single product page, since FluentCart’s quick-view popup can be opened from pages (shop, category, home) that aren’t a product page themselves.
  • Updated the “Placement” setting’s label to make clear it also covers quick-view popups.

0.2.0

  • Renamed to “market-it! EU Guarantee Notice for FluentCart” (slug: market-it-eu-guarantee-notice-for-fluentcart) to match the WooCommerce edition’s post-review naming and stay under WordPress.org’s 50-character slug limit.
  • No longer ships compiled translation files in /languages — those are managed by WordPress.org’s own translation platform once approved. The small set of bundled translations this plugin needs for its own cross-language trigger-text feature now live under includes/i18n/ instead.

0.1.0

  • Initial release: placement settings (product page, checkout), language detection/fallback, shortcode, and notice rendering — ported from the WooCommerce edition of this plugin and rebuilt against FluentCart’s own confirmed hooks and markup.