{"id":369141,"date":"2026-09-27T08:45:17","date_gmt":"2026-09-27T08:45:17","guid":{"rendered":"https:\/\/pl.wordpress.org\/plugins\/primewp-gpsr-for-woocommerce\/"},"modified":"2026-09-27T08:44:46","modified_gmt":"2026-09-27T08:44:46","slug":"primevo-gpsr-product-safety","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/primevo-gpsr-product-safety\/","author":23567345,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Primevo GPSR Product Safety for WooCommerce","header_author":"Primevo","header_description":"Show manufacturer, importer and EU responsible person details, safety warnings and certificates on product pages, as required by EU Regulation 2023\/988 (GPSR). Free and unlimited. Includes a Gutenberg block and an Elementor widget.","assets_banners_color":"778995","last_updated":"2026-09-27 08:44:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/primewp.eu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":73,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"primevo","date":"2026-09-27 08:44:46","revision":3715173}},"upgrade_notice":{"2.0.0":"<p>Everything is now included and free, with no limits: certificates, bulk tools, CSV, structured data, a block-editor block and an Elementor widget. Your data stays exactly where it is.<\/p>","1.7.1":"<p>Housekeeping only: author and contributor details. No functional changes.<\/p>","1.7.0":"<p>The plugin is now called &quot;Primevo GPSR Product Safety for WooCommerce&quot;. Your profiles, defaults and product data stay exactly where they are. Shortcodes from earlier versions keep working.<\/p>","1.6.1":"<p>Fixes a fatal error when activating the plugin while an older copy, under its previous folder name, is still installed. If you saw &quot;The plugin has caused a critical error&quot;, this release is the fix.<\/p>","1.6.0":"<p>The interface is now in English, with Polish included as a translation. Polish shops see no change. Your profiles, defaults and product data are untouched.<\/p>","1.5.1":"<p>The plugin is now called &quot;Prime GPSR for WooCommerce&quot;. Nothing in your shop changes \u2014 your profiles, defaults and product data stay exactly where they are. Only custom translation files need renaming.<\/p>","1.5.0":"<p>Usability and accessibility release. The product screen no longer lets you type GPSR data that would be discarded on save.<\/p>","1.4.0":"<p>Important fix: the compliance overview could report 100% coverage while product pages displayed nothing. Update recommended for every shop.<\/p>","1.3.0":"<p>Security and robustness release. Notably, uninstall no longer deletes product meta belonging to other GPSR plugins, and a product whose profile was deleted no longer shows the default company instead. Recommended for everyone.<\/p>","1.2.0":"<p>Fixes the Overview screen, counts the shop-wide default profile towards coverage, and no longer replaces a deleted profile with the default one on the product page. Recommended for everyone.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3715173,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3715173,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3715173,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3715173,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"primevo\/gpsr-info":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"primevo\/gpsr-info","title":"GPSR information","category":"widgets","icon":"shield","description":"Shows the manufacturer, importer, EU responsible person, safety warnings and certificates that GPSR requires for a product.","keywords":["gpsr","product safety","manufacturer","woocommerce","compliance"],"textdomain":"primevo-gpsr-product-safety","attributes":{"productId":{"type":"integer","default":0}},"usesContext":["postId","postType"],"supports":{"html":false,"spacing":{"margin":true,"padding":true}},"editorScript":"file:.\/index.js","style":"primevo-gpsr"}},"tagged_versions":["2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3715173,"resolution":"1","location":"assets","locale":"","width":1400,"height":863},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3715173,"resolution":"2","location":"assets","locale":"","width":1400,"height":863},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3715173,"resolution":"3","location":"assets","locale":"","width":1400,"height":863},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3715173,"resolution":"4","location":"assets","locale":"","width":790,"height":1180},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3715173,"resolution":"5","location":"assets","locale":"","width":1400,"height":863},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3715173,"resolution":"6","location":"assets","locale":"","width":1400,"height":863},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3715173,"resolution":"7","location":"assets","locale":"","width":1400,"height":863},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3715173,"resolution":"8","location":"assets","locale":"","width":1400,"height":863}},"screenshots":{"1":"The compliance overview: catalogue coverage, profiles, certificates and what the regulation asks of the shop.","2":"A manufacturer profile \u2014 name, postal address, email and phone, entered once and reused across products.","3":"The GPSR tab on the product edit screen: manufacturer, importer, EU responsible person, certificates and a safety warning.","4":"The information block as customers see it on the product page.","5":"The \"GPSR information\" block in the block editor, with a live preview of the product's data.","6":"Certificates and declarations of conformity, with a one-click starter set.","7":"Tools: assign a profile to all products or one category, export and import CSV.","8":"The GPSR column in the product list shows at a glance which manufacturer covers each product."}},"plugin_section":[262246],"plugin_tags":[14361,264911,62667,237366,286],"plugin_category":[45],"plugin_contributors":[282912],"plugin_business_model":[],"class_list":["post-369141","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-compliance","plugin_tags-gpsr","plugin_tags-manufacturer","plugin_tags-product-safety","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-primevo","plugin_committers-primevo"],"banners":{"banner":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/banner-772x250.png?rev=3715173","banner_2x":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/banner-1544x500.png?rev=3715173","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/icon-128x128.png?rev=3715173","icon_2x":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/icon-256x256.png?rev=3715173","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-1.png?rev=3715173","caption":"The compliance overview: catalogue coverage, profiles, certificates and what the regulation asks of the shop."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-2.png?rev=3715173","caption":"A manufacturer profile \u2014 name, postal address, email and phone, entered once and reused across products."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-3.png?rev=3715173","caption":"The GPSR tab on the product edit screen: manufacturer, importer, EU responsible person, certificates and a safety warning."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-4.png?rev=3715173","caption":"The information block as customers see it on the product page."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-5.png?rev=3715173","caption":"The \"GPSR information\" block in the block editor, with a live preview of the product's data."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-6.png?rev=3715173","caption":"Certificates and declarations of conformity, with a one-click starter set."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-7.png?rev=3715173","caption":"Tools: assign a profile to all products or one category, export and import CSV."},{"src":"https:\/\/ps.w.org\/primevo-gpsr-product-safety\/assets\/screenshot-8.png?rev=3715173","caption":"The GPSR column in the product list shows at a glance which manufacturer covers each product."}],"raw_content":"<!--section=description-->\n<p>Since 13 December 2024, every shop selling to consumers in the European Union must display the manufacturer's details on each product page \u2014 and, for goods made outside the EU, the details of the importer or the responsible person established in the Union.<\/p>\n\n<p>Typing those addresses into every product is unnecessary work. This plugin lets you define each company <strong>once<\/strong> as a reusable profile and assign it to products with a single click \u2014 or to your whole catalogue at once.<\/p>\n\n<p>The plugin is completely free. There is no paid version, no licence key, no limits on profiles or products, and no feature locked away.<\/p>\n\n<p><strong>Profiles and product data<\/strong><\/p>\n\n<ul>\n<li>Reusable profiles for manufacturers, importers and EU responsible persons \u2014 name, postal address, country, email, phone and website.<\/li>\n<li>Shop-wide default profiles that cover every product without its own assignment.<\/li>\n<li>Details entered manually for a single product when it does not fit any profile.<\/li>\n<li>Product-level and shop-wide safety warnings.<\/li>\n<li>Certificates and declarations of conformity (CE, RoHS, REACH and more), with a one-click starter set and links to PDF documents.<\/li>\n<\/ul>\n\n<p><strong>Display<\/strong><\/p>\n\n<ul>\n<li>A clean information block on the product page: below the description, in its own product tab, or wherever you want it.<\/li>\n<li>A <strong>block for the block editor<\/strong> (\"GPSR information\") \u2014 works in block themes and in the Site Editor's product template.<\/li>\n<li>An <strong>Elementor widget<\/strong> (\"GPSR information\") for Elementor and Elementor Pro product templates.<\/li>\n<li>The <code>[primevo_gpsr_info]<\/code> shortcode for everything else.<\/li>\n<li>Works with block themes out of the box: the information is added after the \"Product details\" block automatically.<\/li>\n<li>Optional Schema.org structured data: the manufacturer is added to the product's markup.<\/li>\n<\/ul>\n\n<p><strong>Catalogue tools<\/strong><\/p>\n\n<ul>\n<li>Compliance overview showing how many of your products still lack the required details, and products that point to a deleted profile.<\/li>\n<li>A GPSR column and filter in the product list, and a manufacturer field in WooCommerce bulk edit.<\/li>\n<li>Bulk assignment of a profile to all products or to one category.<\/li>\n<li>CSV export of profiles (a backup you can import back) and of product data (for audits and inspections), and CSV import of profiles.<\/li>\n<\/ul>\n\n<p>Works with High-Performance Order Storage, fully translatable (Polish included), no external requests.<\/p>\n\n<p><strong>Important \u2014 your responsibility<\/strong><\/p>\n\n<p>This plugin provides tools for displaying information required by GPSR. It cannot verify whether the details you enter are accurate, complete or sufficient for your product range. Responsibility for that content, for its compliance with applicable law, and for any consequences of errors \u2014 including penalties imposed by market surveillance authorities \u2014 rests solely with the shop operator. This plugin is not legal advice.<\/p>\n\n<p><strong>Privacy<\/strong><\/p>\n\n<p>This plugin makes no external connections, sets no cookies and collects no statistics. It stores only the business details you enter as an administrator; it does not collect, transmit or process any customer data.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from <strong>Plugins \u2192 Add New<\/strong>, or upload the ZIP file there.<\/li>\n<li>Activate the plugin. WooCommerce must be active.<\/li>\n<li>Go to <strong>WooCommerce \u2192 GPSR<\/strong> and add your manufacturer profile.<\/li>\n<li>Either set it as the shop-wide default (Display tab), assign it in bulk (Tools tab), or open a product, switch to its <strong>GPSR<\/strong> tab and pick the profile.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20make%20my%20shop%20legally%20compliant%3F\"><h3>Does this plugin make my shop legally compliant?<\/h3><\/dt>\n<dd><p>No plugin can do that. It displays the information you provide in the place customers expect to find it. Whether that information is correct and sufficient is for you \u2014 and, where needed, your legal adviser \u2014 to determine.<\/p><\/dd>\n<dt id=\"is%20there%20a%20paid%20version%20or%20any%20limit%3F\"><h3>Is there a paid version or any limit?<\/h3><\/dt>\n<dd><p>No. Everything is included and free, with no limits on the number of profiles or products.<\/p><\/dd>\n<dt id=\"where%20does%20the%20information%20appear%3F\"><h3>Where does the information appear?<\/h3><\/dt>\n<dd><p>Below the product description by default. You can move it to a separate product tab, or choose \"Shortcode, block or widget only\" and place it yourself with the block, the Elementor widget or the <code>[primevo_gpsr_info]<\/code> shortcode. When you place it yourself on a product, the automatic block is not repeated.<\/p><\/dd>\n<dt id=\"i%20use%20a%20block%20theme%20and%20see%20nothing\"><h3>I use a block theme and see nothing<\/h3><\/dt>\n<dd><p>The information is added after the \"Product details\" block of the single product template. If your template does not use that block, add the \"GPSR information\" block to the template in <strong>Appearance \u2192 Editor<\/strong>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. Search for \"GPSR information\" in the Elementor widget panel and drop it into your single product template. Leave the product ID empty to use the product being displayed.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20product%20variations%3F\"><h3>Does it work with product variations?<\/h3><\/dt>\n<dd><p>Details are set per product and apply to all of its variations.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20any%20data%20anywhere%3F\"><h3>Does the plugin send any data anywhere?<\/h3><\/dt>\n<dd><p>No. This plugin makes no external requests, sets no cookies and collects no statistics. Profiles and product data never leave your database.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20help%3F\"><h3>Where do I get help?<\/h3><\/dt>\n<dd><p>Please use the support forum on WordPress.org \u2014 that way the answer helps everyone who runs into the same thing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Everything is included and free, with no limits.<\/strong> Unlimited profiles and products; there is no paid version any more.<\/li>\n<li>New: certificates and declarations of conformity, with a ready-made starter set.<\/li>\n<li>New: bulk assignment, CSV import and export, a GPSR column and filter in the product list, and a manufacturer field in bulk edit.<\/li>\n<li>The GPSR column in the product list has a proper width instead of wrapping the manufacturer name one letter per line.<\/li>\n<li>New: optional Schema.org structured data for the manufacturer (now also includes the phone number).<\/li>\n<li>New: \"GPSR information\" block for the block editor, with a live preview of the product's data.<\/li>\n<li>New: \"GPSR information\" widget for Elementor.<\/li>\n<li>New: block themes show the information automatically after the \"Product details\" block.<\/li>\n<li>Placing the block, widget or shortcode on a product no longer shows the information twice.<\/li>\n<li>The profile CSV export can now be imported back, certificates included, and duplicate names in one file are skipped.<\/li>\n<li>CSV import is limited to 2 MB \/ 2,000 rows and reports how many entries were added.<\/li>\n<li>Editing a certificate no longer changes its identifier, so products keep their assignment.<\/li>\n<li>Bulk assignment now respects per-product edit permissions and marks products for a clean uninstall.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Author name and contributor list aligned with the plugin's WordPress.org account.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li><strong>Renamed to \"Primevo GPSR Product Safety for WooCommerce\".<\/strong> The previous name was too close to an existing plugin with the same purpose, which is not allowed in the WordPress.org directory. Nothing in your shop changes: your profiles, defaults and product data are untouched.<\/li>\n<li>The dashboard widget's stylesheet is now enqueued properly instead of being written into the page as a <code>&lt;style&gt;<\/code> block.<\/li>\n<li>Form data passed to add-ons through the <code>gpsr_save_product<\/code> hook is sanitised first, and limited to this plugin's own fields. Add-ons no longer receive the raw <code>$_POST<\/code> array.<\/li>\n<li>The \"PRO version\" link on the plugins list is a plain link again, without colour or bold.<\/li>\n<li>The new-profile template is a standard <code>&lt;template&gt;<\/code> element rather than a <code>&lt;script&gt;<\/code> block.<\/li>\n<li>The shortcode is now <code>[primevo_gpsr_info]<\/code>. Every earlier tag \u2014 <code>[prime_gpsr_info]<\/code> and <code>[primewp_gpsr_info]<\/code> \u2014 keeps working permanently, so published pages are unaffected.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li><strong>Fixed a fatal error on activation when an older copy of the plugin was still installed.<\/strong> Because 1.5.1 changed the plugin's folder name, WordPress treats the old and new packages as two different plugins and allows both to be active \u2014 which made PHP stop with \"Cannot redeclare wc_gpsr()\" and showed only \"The plugin has caused a critical error\". The plugin now detects the second copy, steps aside quietly, and tells you exactly which folder to remove.<\/li>\n<li>The same protection covers uninstalling: removing both copies in one go no longer breaks halfway through.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li><strong>The plugin now speaks English.<\/strong> Every screen, label and message in the source is English, which is what the WordPress.org directory expects \u2014 and what lets the community translate the plugin into any language.<\/li>\n<li>Polish ships as a full translation (<code>pl_PL<\/code>), bundled with the plugin. Polish shops see exactly what they saw before; nothing is lost.<\/li>\n<li>Translation loading was rewritten: a translation you install in <code>wp-content\/languages\/plugins<\/code> always wins over the bundled one, so an updated community translation is never overwritten by the package.<\/li>\n<li>The plugin header, the readme and the interface now use one consistent name.<\/li>\n<li>The shortcode is now <code>[prime_gpsr_info]<\/code>. The previous <code>[primewp_gpsr_info]<\/code> keeps working permanently, so pages you have already published are unaffected.<\/li>\n<li>Fixed: the settings screen could suggest the <code>[gpsr_info]<\/code> shortcode even when another GPSR plugin had claimed that tag, pointing you at someone else's shortcode.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Renamed to \"Prime GPSR for WooCommerce\". \"WP\" is a restricted term in the WordPress.org plugin directory and cannot appear in a plugin name or slug. The plugin, its author and its support remain unchanged.<\/li>\n<li>Translation files now carry the new text domain. If you had your own translation, rename the .po\/.mo files to match the new text domain.<\/li>\n<li>Tested against WordPress 7.1.<\/li>\n<li>Replaced the deprecated <code>load_plugin_textdomain()<\/code> call with a targeted loader.<\/li>\n<li>The product limit notice escapes its link markup explicitly instead of relying on the surrounding filter.<\/li>\n<li>Housekeeping on database queries: prepared statements, cache annotations and prefixed globals in the uninstall routine.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>One package again: the plugin no longer ships in two variants. The same ZIP goes to the WordPress.org directory and to direct downloads.<\/li>\n<li>The product edit screen now locks the GPSR fields when the free product limit is reached, instead of accepting input and discarding it on save.<\/li>\n<li>The \"deleted profile\" warning now lists which role and how many products are affected, and no longer suggests a fix that cannot work.<\/li>\n<li>A stale reference left by an unticked importer \/ responsible-person switch is no longer reported as a compliance gap.<\/li>\n<li>Coverage is now counted over published products only, so a catalogue full of drafts can no longer read 100%.<\/li>\n<li>Screen-reader labels on setup steps, profile delete buttons and the importer \/ responsible-person switches.<\/li>\n<li>A dismissible welcome notice replaces the removed activation redirect, shown only to the person who activated the plugin.<\/li>\n<li>The settings screen now shows the shortcode tag that is actually registered.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fixed a serious reporting error: the compliance overview could show 100% coverage while product pages showed nothing, because a deleted default profile was still counted as active.<\/li>\n<li>New warning on the overview when products point at a profile that no longer exists.<\/li>\n<li>Fixed a lockout: the free product limit counted products that displayed no data, and once the limit was reached those same products could no longer be corrected.<\/li>\n<li>The GPSR block now renders once per product instead of once per page request, so pages showing several products no longer lose the block on all but the first.<\/li>\n<li>Saving profiles no longer rewrites existing profile identifiers, which previously could detach every product that referenced them.<\/li>\n<li>Structured data setting is no longer switched off when the add-on is briefly inactive.<\/li>\n<li>Removed the forced redirect after activation.<\/li>\n<li>Clearer privacy policy text: the plugin does store personal data when the responsible person is a natural person, and now says so.<\/li>\n<li>The responsibility disclaimer is now confirmed per user and records who confirmed it.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Security and robustness pass following a full external review of the plugin.<\/li>\n<li>Uninstall now removes only this plugin's own product meta \u2014 it no longer touches identically named meta belonging to other GPSR plugins \u2014 and cleans every site on a multisite network.<\/li>\n<li>A product whose assigned profile has been deleted now shows nothing instead of silently falling back to the shop-wide default company.<\/li>\n<li>The profile limit no longer removes profiles that are already saved; it only prevents adding new ones.<\/li>\n<li>The shortcode refuses products that are not publicly visible, and loads its stylesheet when used outside a product page.<\/li>\n<li>The shortcode is now registered as [primewp_gpsr_info]; the shorter [gpsr_info] is also registered unless another plugin already claimed it.<\/li>\n<li>Product saves no longer leave empty meta rows behind, and the \"limit reached\" notice is shown to the user who hit it, not to whoever opens the admin next.<\/li>\n<li>Hardened against array values submitted into text fields, which could abort a product save on PHP 8.<\/li>\n<li>The block is no longer rendered twice by themes that fire the product hook twice.<\/li>\n<li>Fixed a translation call that ran too early on WordPress 6.7+.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fixed the Overview tab, which could render empty after the internal refactor.<\/li>\n<li>A product whose assigned profile has been deleted now shows nothing instead of silently falling back to the shop-wide default company.<\/li>\n<li>The profile limit no longer removes profiles that are already saved; it only prevents adding new ones.<\/li>\n<li>Uninstall now removes product data only from products this plugin actually wrote to, and cleans every site on a multisite network.<\/li>\n<li>The shortcode now refuses non-public products and loads its stylesheet outside product pages.<\/li>\n<li>Product saves no longer store empty meta rows for every field.<\/li>\n<li>Hardened against array values submitted into text fields (PHP 8 fatal error).<\/li>\n<li>Coverage now counts products served by the shop-wide default profile, so a fully configured shop reads 100% instead of appearing incomplete.<\/li>\n<li>The overview no longer shows a product count and the message \"everything filled in\" at the same time.<\/li>\n<li>Clearer \"what you have \/ what the extended version adds\" comparison on the overview.<\/li>\n<li>Consistent naming of the base version across all screens.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed the plugin folder to avoid a slug collision with an unrelated plugin, which could cause WordPress to replace this plugin with that one.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed a fatal error on activation caused by a leftover reference to a class that now lives in the PRO add-on.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Reusable manufacturer, importer and EU responsible person profiles.<\/li>\n<li>Product-level and shop-wide safety warnings.<\/li>\n<li>Display below the description, in a product tab, or via shortcode.<\/li>\n<li>Compliance overview and setup guidance.<\/li>\n<li>HPOS compatible.<\/li>\n<\/ul>","raw_excerpt":"Show manufacturer, importer, EU responsible person, safety warnings and certificates on product pages, as required by GPSR. Free, no limits.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369141"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/primevo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369141"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369141"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369141"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369141"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369141"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}