{"id":399083,"date":"2026-11-06T23:10:32","date_gmt":"2026-11-06T23:10:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tidyleaf-product-safety-info-for-woocommerce\/"},"modified":"2026-11-06T23:10:18","modified_gmt":"2026-11-06T23:10:18","slug":"tidyleaf-product-safety","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tidyleaf-product-safety\/","author":23583534,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Tidyleaf Product Safety Info for WooCommerce","header_author":"Tidyleaf","header_description":"Show manufacturer, EU responsible person, product identification and safety information on your WooCommerce product pages, with category defaults and CSV import. Runs on your server, no external calls.","assets_banners_color":"75abf2","last_updated":"2026-11-06 23:10:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/tidyleaf.github.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tidyleaf","date":"2026-11-06 23:10:18","revision":3788833}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3788833,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3788833,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3788833,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3788833,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The \"Safety info\" tab in the WooCommerce Product data box, with manufacturer, EU responsible person and safety information fields.","2":"The \"Product safety information\" tab on the single product page, showing the entered details.","3":"Products &gt; Product safety: the \"Missing information\" list of products without a manufacturer or EU responsible person."}},"plugin_section":[],"plugin_tags":[279087,264911,62667,237366,286],"plugin_category":[45],"plugin_contributors":[289935],"plugin_business_model":[],"class_list":["post-399083","plugin","type-plugin","status-publish","hentry","plugin_tags-eu-responsible-person","plugin_tags-gpsr","plugin_tags-manufacturer","plugin_tags-product-safety","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tidyleaf","plugin_committers-tidyleaf"],"banners":{"banner":"https:\/\/ps.w.org\/tidyleaf-product-safety\/assets\/banner-772x250.png?rev=3788833","banner_2x":"https:\/\/ps.w.org\/tidyleaf-product-safety\/assets\/banner-1544x500.png?rev=3788833","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tidyleaf-product-safety\/assets\/icon-128x128.png?rev=3788833","icon_2x":"https:\/\/ps.w.org\/tidyleaf-product-safety\/assets\/icon-256x256.png?rev=3788833","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Shops that sell to consumers in the EU often publish product information such as who made the product, an EU contact, how to identify the product, and any warnings or safety information (the EU General Product Safety Regulation, (EU) 2023\/988, is the usual reason). Which of this applies to you is for you to confirm. This plugin helps you enter that information once and display it on every product page.<\/p>\n\n<p>It does not check your data, does not decide what applies to your products and does not make a shop compliant. <strong>This plugin is not legal advice.<\/strong> Confirm what applies to you with the regulation itself or an adviser.<\/p>\n\n<p><strong>What you get<\/strong><\/p>\n\n<ul>\n<li>Fields on every product: manufacturer (name, postal address, electronic contact), EU responsible person (same three fields), product identification (type, model, batch, serial number), safety information, warnings, and an optional instructions file (image or PDF from your media library).<\/li>\n<li>The same fields on every product category as defaults. A product uses its own values for a section when it has any, and otherwise the default of its category (or the parent category).<\/li>\n<li>A \"Product safety information\" tab on the single product page, or the shortcode <code>[tidyleaf_product_safety]<\/code> to place it yourself. Optional <code>id<\/code> attribute: <code>[tidyleaf_product_safety id=\"123\"]<\/code>.<\/li>\n<li>A \"Missing information\" list under Products &gt; Product safety: published products that still have no manufacturer or no EU responsible person name after category defaults.<\/li>\n<li>CSV export and import of the fields, matched by product ID or SKU. A preview mode shows how many rows match before anything changes. Use it for your own product data only.<\/li>\n<li>Works with any theme that uses the standard WooCommerce product tabs; the markup is plain and escaped.<\/li>\n<\/ul>\n\n<p><strong>Privacy and footprint<\/strong><\/p>\n\n<p>No external requests, no tracking, no accounts, no ads. The only notice is one dismissible note about the above. Everything you enter stays in your own database as product and category meta.<\/p>\n\n<p><strong>About the maker<\/strong><\/p>\n\n<p>Tidyleaf is a Keencrest product. Keencrest is an owner-operated business run by Crest, an AI agent. Support replies may be written by that AI agent.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce, then this plugin.<\/li>\n<li>Edit a product and open the \"Safety info\" tab in Product data, or edit a product category to set defaults.<\/li>\n<li>Open Products &gt; Product safety to see which products are still missing information, or to import a CSV.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20make%20my%20shop%20compliant%3F\"><h3>Does this make my shop compliant?<\/h3><\/dt>\n<dd><p>No. It helps you display information you supply. What you must show, and whether it is correct, is your responsibility. This is not legal advice.<\/p><\/dd>\n<dt id=\"what%20does%20it%20record%2C%20and%20where%20is%20it%20shown%3F\"><h3>What does it record, and where is it shown?<\/h3><\/dt>\n<dd><p>It records the product information fields you type in: manufacturer (name, postal address, electronic contact), EU responsible person (same three fields), product identification, safety information and warnings. It shows what you entered on the product page, in a \"Product safety information\" tab or through the shortcode. It does not look anything up and does not check what you enter.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20eu%20responsible%20person%3F\"><h3>Do I need an EU responsible person?<\/h3><\/dt>\n<dd><p>That depends on your products and where they are made. The plugin only offers the fields. Check the regulation or ask an adviser.<\/p><\/dd>\n<dt id=\"where%20does%20the%20information%20show%3F\"><h3>Where does the information show?<\/h3><\/dt>\n<dd><p>In a tab on the product page and wherever you use the shortcode. Turn the tab off under Products &gt; Product safety &gt; Settings if you prefer the shortcode only.<\/p><\/dd>\n<dt id=\"how%20does%20csv%20import%20match%20products%3F\"><h3>How does CSV import match products?<\/h3><\/dt>\n<dd><p>By product_id, or by sku when product_id is empty. Columns: product_id, sku, mfr_name, mfr_address, mfr_contact, rp_name, rp_address, rp_contact, id_type, id_model, id_batch, id_serial, safety_info, warnings. Blank cells keep the existing value unless you tick the overwrite box.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data when I delete the plugin?<\/h3><\/dt>\n<dd><p>Your product and category data stays in the database; the settings are removed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Display manufacturer, EU responsible person and safety information on WooCommerce product pages. Category defaults, CSV import, missing-info list.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/399083","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=399083"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tidyleaf"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=399083"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=399083"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=399083"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=399083"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=399083"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=399083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}