{"id":345302,"date":"2026-07-31T11:22:48","date_gmt":"2026-07-31T11:22:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/livre-resolucao-para-lojas-online\/"},"modified":"2026-07-31T11:22:12","modified_gmt":"2026-07-31T11:22:12","slug":"livre-resolucao-para-lojas-online","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/livre-resolucao-para-lojas-online\/","author":13666915,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Livre Resolu\u00e7\u00e3o para Lojas Online","header_author":"Ideias com Sotaque","header_description":"Implementa o \"Bot\u00e3o de Livre Resolu\u00e7\u00e3o\" exigido pela Diretiva (UE) 2023\/2673. Permite aos consumidores exercer o direito de livre resolu\u00e7\u00e3o (devolu\u00e7\u00e3o) de encomendas WooCommerce num fluxo inequ\u00edvoco de 2 passos, com registo e notifica\u00e7\u00f5es por e-mail em suporte duradouro.","assets_banners_color":"1458bd","last_updated":"2026-07-31 11:22:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/ideiascomsotaque.pt","rating":0,"author_block_rating":0,"active_installs":0,"downloads":63,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"bonzinho","date":"2026-07-31 11:22:12"}},"upgrade_notice":{"1.0.2":"<p>Compliance and code-quality improvements for the WordPress.org review.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3629898,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3629898,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3629898,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3629898,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3629898,"resolution":"1","location":"assets","locale":"","width":1000,"height":820},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3629898,"resolution":"2","location":"assets","locale":"","width":1000,"height":520},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3629898,"resolution":"3","location":"assets","locale":"","width":1000,"height":310}},"screenshots":{"1":"The withdrawal request form on the storefront, with the legal notice and the customer's details.","2":"Step 2: an unambiguous confirmation screen before the request is sent.","3":"Success message shown after the request is registered and the email receipt is sent."}},"plugin_section":[],"plugin_tags":[131785,37994,55969,263226,286],"plugin_category":[45],"plugin_contributors":[274031],"plugin_business_model":[],"class_list":["post-345302","plugin","type-plugin","status-publish","hentry","plugin_tags-gdpr","plugin_tags-refunds","plugin_tags-returns","plugin_tags-right-of-withdrawal","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-bonzinho","plugin_committers-bonzinho"],"banners":{"banner":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/banner-772x250.png?rev=3629898","banner_2x":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/banner-1544x500.png?rev=3629898","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/icon-128x128.png?rev=3629898","icon_2x":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/icon-256x256.png?rev=3629898","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/screenshot-1.png?rev=3629898","caption":"The withdrawal request form on the storefront, with the legal notice and the customer's details."},{"src":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/screenshot-2.png?rev=3629898","caption":"Step 2: an unambiguous confirmation screen before the request is sent."},{"src":"https:\/\/ps.w.org\/livre-resolucao-para-lojas-online\/assets\/screenshot-3.png?rev=3629898","caption":"Success message shown after the request is registered and the email receipt is sent."}],"raw_content":"<!--section=description-->\n<p><strong>Livre Resolu\u00e7\u00e3o para Lojas Online<\/strong> adds to your store the right-of-withdrawal (return) mechanism required by <strong>EU Directive 2023\/2673<\/strong>, which applies to distance and off-premises consumer contracts. It gives customers an unambiguous way to exercise their statutory right to withdraw from a purchase, and gives the shop owner a durable, logged record of every request.<\/p>\n\n<p><strong>Note:<\/strong> the customer-facing interface and the notification emails are written in European Portuguese (pt_PT), as the plugin targets stores selling to Portuguese\/EU consumers.<\/p>\n\n<p>Main features:<\/p>\n\n<ul>\n<li><strong>Shortcode<\/strong> <code>[lreso_botao]<\/code> to place the button\/form on any page or post. It supports three modes:\n\n<ul>\n<li><code>modo=\"modal\"<\/code> (default): shows only the button; clicking it opens the form in a modal.<\/li>\n<li><code>modo=\"inline\"<\/code>: shows the form always visible.<\/li>\n<li><code>modo=\"link\" url=\"\/returns\"<\/code> (or <code>pagina_id=\"123\"<\/code>): the button links to another page.<\/li>\n<li>Extra attributes: <code>texto<\/code> (button label), <code>title<\/code> (heading) and <code>order_ref<\/code> (pre-fills the order reference).<\/li>\n<\/ul><\/li>\n<li><strong>WooCommerce integration<\/strong> with a \"Livre Resolu\u00e7\u00e3o\" tab in the <em>My Account<\/em> area and an \"Exercise right of withdrawal\" button on each order detail (shown only within the legal deadline of 14 days).<\/li>\n<li><strong>Mandatory 2-step flow<\/strong>: identification followed by an unambiguous confirmation screen.<\/li>\n<li><strong>Email notifications on a durable medium<\/strong> (HTML) to both the customer and the administrator, including date\/time and a summary of the submitted data.<\/li>\n<li><strong>Internal order note<\/strong> on the WooCommerce order recording the request.<\/li>\n<li><strong>Admin panel<\/strong> to customise the button label and colour, the email text and the display toggle.<\/li>\n<li><strong>Request log<\/strong> stored in a dedicated table, with statuses (Pending, Processed, Rejected), search, filters and pagination.<\/li>\n<\/ul>\n\n<p>Compatible with WooCommerce <strong>HPOS<\/strong> (High-Performance Order Storage).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Copy the <code>livre-resolucao-para-lojas-online<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin from the WordPress \"Plugins\" menu.<\/li>\n<li>Go to <strong>Livre Resolu\u00e7\u00e3o \u2192 Defini\u00e7\u00f5es<\/strong> to configure the button, the emails and the display options.<\/li>\n<li>Place <code>[lreso_botao]<\/code> on a page, or leave the <em>My Account<\/em> option enabled.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20require%20woocommerce%3F\"><h3>Does the plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>The shortcode works without WooCommerce. The order-related features (the <em>My Account<\/em> tab, the button on the order detail, the internal order note) require WooCommerce to be active.<\/p><\/dd>\n<dt id=\"where%20are%20the%20requests%20stored%3F\"><h3>Where are the requests stored?<\/h3><\/dt>\n<dd><p>In a dedicated table (<code>{prefix}lreso_solicitacoes<\/code>). You can review them under <strong>Livre Resolu\u00e7\u00e3o \u2192 Solicita\u00e7\u00f5es<\/strong>.<\/p><\/dd>\n<dt id=\"is%20the%20deadline%20configurable%3F\"><h3>Is the deadline configurable?<\/h3><\/dt>\n<dd><p>Yes, but it can never be shorter than the legal minimum of 14 days.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Review hardening: unique <code>lreso<\/code> prefix across all classes, functions, options and hooks; removed the arbitrary custom CSS option; all CSS\/JS enqueued correctly (no inline <code>&lt;style&gt;<\/code> in templates); prepared statements use the <code>%i<\/code> identifier placeholder.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<\/ul>","raw_excerpt":"Adds the EU right-of-withdrawal return button (Directive 2023\/2673) to WooCommerce, with a 2-step request flow, logging and email receipts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345302","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=345302"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bonzinho"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345302"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345302"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345302"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345302"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345302"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}