Descripción
Desde el 19 de junio de 2026, la Directiva de la UE 2023/2673 obliga a todos los comerciantes online de la Unión Europea a ofrecer una función de desistimiento digital que sea, como mínimo, tan fácil de usar como el propio proceso de compra. La mayoría de los plugins del directorio se limitan a «un botón». Este incluye el conjunto de herramientas completo que toda tienda de la UE necesita para cumplir con la normativa, además de algunas cosas que otros plugins no ofrecen ni siquiera pagando.
El plugin te ayuda a cumplir los requisitos relativos al derecho de desistimiento establecidos en la Directiva 2011/83/UE sobre los derechos de los consumidores, modificada por la Directiva (UE) 2019/2161 (la Directiva Ómnibus).
Solo este plugin del directorio ofrece, completamente y de forma gratuita
- Función de confirmación en dos pasos (art. 11 bis, apartado 3) (la norma básica a escala de la UE en materia del derecho de desistimiento en línea). El formulario público lleva a una pantalla de revisión con un resumen de solo lectura y un botón específico «Confirmar desistimiento» La solicitud solo se registra cuando se pulsa ese botón, lo que evita el ejercicio involuntario del derecho. Se almacena en el servidor entre los dos pasos en un token de un solo uso, por lo que funciona incluso sin JavaScript.
- Acuse de recibo en soporte duradero (art. 11 bis, apartado 4): El correo electrónico de confirmación reproduce el contenido completo de la declaración (nombre, pedido, fecha del pedido, alcance, productos afectados) y la fecha y hora exactas de envío, y lleva un hash de recibo SHA-256 verificable como prueba a prueba de manipulaciones, que puede volver a calcularse a partir de los campos almacenados si surge una disputa.
- Formulario modelo de desistimiento del anexo I.B (Directiva 2011/83/UE) generado automáticamente a partir de los datos de tu tienda, que se muestra como un bloque plegable debajo del formulario público, con una vista imprimible en la misma URL. Cumple con la obligación de información precontractual del artículo 6, apartado 1, letra h).
- Casillas de verificación de doble consentimiento en la página de finalización de compra de WooCommerce para los dos consentimientos, la directiva prevé aplicar excepciones específicas:
- Consentimiento obligatorio para los contenidos digitales (art. 16, letra m)) — Bloquea el paso de realizar el pedido hasta que se acepte.
- Consentimiento opcional para los servicios iniciados dentro del plazo de 14 días (art. 14, apartado 4, letra a) — Permite la facturación prorrateada si el cliente desiste posteriormente.
Cada consentimiento queda registrado en el pedido con el texto exacto mostrado, el estado de aceptación o rechazo, la marca temporal, la dirección IP y el agente de usuario como prueba duradera en caso de disputa.
- Un único menú desplegable «Estado de desistimiento» por producto y por categoría con cuatro opciones específicas (estándar, contenidos digitales, servicio iniciado anticipadamente, otras excepciones del artículo 16). Gestiona tanto el indicador de exclusión del artículo 16 como el consentimiento correspondiente al finalizar la compra en un único lugar, con herencia completa de las subcategorías.
- Aviso público configurable sobre productos excluidos, que aparece entre el precio y el botón «Añadir al carrito», con título y cuerpo independientes para los contenidos digitales y otras excepciones del artículo 16.
- Exclusiones del artículo 16 con herencia de categorías — Otros plugins similares lo ofrecen solo en su versión Pro de pago, pero aquí es gratis.
- Integración nativa RGPD: texto de política de privacidad sugerido + exportador de datos personales + herramienta de borrado, todo ello vinculado al correo electrónico del cliente. No es necesario instalar ningún otro plugin RGPD.
- Modo independiente: El formulario, el shortcode, el registro de solicitudes, los avisos por correo electrónico, el hash SHA-256 del recibo, el modelo del anexo I.B y la integración con el RGPD funcionan sin WooCommerce. El plugin siempre está en su propio menú de primer nivel «Desistimientos» (con un submenú «Ajustes»), con o sin WooCommerce. La ruta es la misma en todas las instalaciones.
Elementos de cara al público
- Página pública de desistimiento creada automáticamente tras la activación con una plantilla neutra y preparada para su traducción, y con el formulario integrado mediante un shortcode, lista para publicar y con el recordatorio de revisarla con un asesor jurídico, que se muestra en el escritorio en lugar de en la propia página.
- Shortcode
[ayudawp_withdrawal_form]para incrustar el formulario en cualquier parte del sitio. - Shortcode
[ayudawp_withdrawal_link]para crear un enlace permanente a la página de desistimiento desde cualquier área de widgets, pie de página o sección de la plantilla. Ayuda a cumplir el requisito de «Identificación clara» del artículo 11 bis de la Directiva 2023/2673 sin imponer un diseño específico para el pie de página. - El shortcode
[ayudawp_withdrawal_excluded_notice]sirve para insertar el aviso de productos excluidos en los maquetadores de páginas (Divi, Elementor, Bricks, ShopLentor) que generan su propia plantilla de producto y omiten los ganchos estándar de WooCommerce. - Formulario semántico HTML5 con validación HTML5, señuelo antispam, salida con caracteres de escape, entradas sanitizadas y nonces CSRF.
- Casilla de verificación para aceptar la política de privacidad antes de enviar el formulario, con enlace a la página de política de privacidad configurada en WordPress.
- Los enlaces en portada y administración generados por el plugin incluyen
rel=«noopener nofollow»para mantener la autoridad de los enlaces del sitio.
Elementos específicos de WooCommerce (se activan automáticamente al detectar WooCommerce)
- Enlace «Mi cuenta Derecho de desistimiento», con un botón «Desistir» específico para cada pedido que se muestra siempre que el pedido se encuentre en un estado que permita el desistimiento, y que enlaza directamente con el formulario con los datos del pedido precargados.
- Seguimiento de solicitudes del cliente: Esta misma URL muestra una lista de sus propias solicitudes con la fecha, el pedido, el alcance, el estado, la nota escrita al resolverlas y el código de recibo. Además, la fila correspondiente al pedido muestra el estado de las solicitudes que ya están abiertas, en lugar de aparecer como un espacio en blanco. Incluye las solicitudes que han enviado mientras estaban conectados, incluidas aquellas registradas sin pedido asociado.
- Inserción de un aviso de desistimiento en los correos electrónicos transaccionales (procesando, completado, factura del cliente) con un enlace directo al formulario, que ya contiene el número de pedido. Se pueden configurar los estados de pedido elegibles; los correos electrónicos del administrador nunca reciben el aviso.
- Verificación automática de la relación pedido/correo electrónico cuando WooCommerce está activo: la solicitud se compara con un pedido real y se filtra según los estados elegibles configurados. El plazo de 14 días se muestra como una indicación para el administrador, no como un rechazo automático (el plazo comienza legalmente a partir de la entrega, que es lo que verifica la tienda).
- Modo opcional «Aceptar solicitudes con datos no encontrados»: Registra las solicitudes que no coincidan con ningún pedido como Sin verificar para su revisión manual, en lugar de rechazarlas directamente, y se resaltan en todo el proceso de administración (correo electrónico de aviso, insignia en los listados, advertencia en los detalles y columna del CSV). Desactivado por defecto.
- Fecha límite de aviso configurable: elige entre la fecha del pedido o la fecha de completado de WooCommerce como referencia, además de días de gracia opcionales, para el indicador de fecha límite que se muestra al administrador; todo ello desde la interfaz de ajustes, sin necesidad de código.
- Compatibilidad con números de pedido para Sequential Order Numbers (versiones gratuita y Pro) y Custom Order Numbers for WooCommerce (tanto Tyche como WPFactory) de serie, además de un filtro para añadir cualquier otro plugin de numeración o sistema de resolución.
- Columna «Desistir» en la pantalla de pedidos de WooCommerce (versión clásica y HPOS) mostrando el estado de cualquier solicitud asociada, que se puede activar o desactivar desde «Opciones de pantalla».
- Notas privadas del pedido añadidas en cada fase del ciclo de vida (solicitud recibida, aceptada, rechazada, completada), incluyendo cualquier comentario del administrador.
- Compatible con HPOS desde el primer día, declarado mediante
FeaturesUtil::declare_compatibility().
Herramientas de administración
- Registro completo de solicitudes como tipo de contenido personalizado privado, con ciclo de vida de estado (pendiente aceptada rechazada completada), datos del cliente, alcance (total / parcial), IP, agente de usuario y marca temporal UTC del envío para garantizar la trazabilidad legal.
- Exportación a CSV del registro de solicitudes para auditorías contables y de protección del consumidor: una acción por lotes «Exportar a CSV» en el listado, además de una exportación filtrada por estado y rango de fechas en Desistimientos Exportar desistimientos. Las columnas incluyen marcas temporales de envío y resolución, alcance, estado, indicador de acuse de recibo, hash del recibo y elementos excluidos, con celdas protegidas contra la inyección de CSV o fórmulas.
- Trazabilidad de auditoría por cada solicitud:: marca temporal de la resolución registrada en cada cambio de estado y un indicador que señala si el correo electrónico de confirmación se ha entregado correctamente (con su marca temporal), y ambos datos se muestran en los detalles de la solicitud y en el archivo CSV como prueba fehaciente.
- Acciones por lotes para marcar varias solicitudes como aceptadas, rechazadas o completadas a la vez, con aviso por correo electrónico al producirse el cambio.
- Caja meta de estado con comentario obligatorio al rechazar, y comentario opcional al completar. El comentario se reenvía al correo electrónico del cliente.
- Correo electrónico de acuse de recibo al cliente tras la confirmación: el recibo en soporte duradero previsto en el artículo 11 bis, apartado 4, con el contenido completo de la declaración, la fecha y la hora de presentación y el hash SHA-256 como prueba, además de un correo electrónico de seguimiento cada vez que se produzca un cambio de estado.
- Correo electrónico de aviso al administrador de la tienda con el campo «Responder a» configurado para el cliente, sanitizado contra la inyección de cabeceras.
- Los consentimientos de pago registrados aparecen en la caja meta de detalles de la solicitud: texto exacto, estado (aceptado/rechazado), marca temporal, IP, agente de usuario, como prueba duradera archivada.
- Menú de administración consistente: Menú siempre de primer nivel «Desistimientos» con. un submenú «Ajustes», independientemente de si WooCommerce está activo. Misma ruta en todas las instalaciones.
- Bloque de descargo de responsabilidad legal en la página de ajustes, en el que se deja claro que el plugin ofrece herramientas técnicas opcionales, pero no garantiza cumplimiento legal.
- Indicadores de «Obligatorio», «Recomendado» y «Opcional» en cada descripción de los ajustes, para que el comerciante pueda analizar el formulario rápidamente.
Tiendas multilíngües: WPML y Polylang
El cumplimiento no puede depender del idioma en el que esté navegando el cliente, así que se admiten ambos plugins de manera nativa, y no hay nada que configurar:
- Configura el estado de desistimiento una sola vez, en el producto o la categoría en su idioma original, y se aplicará a todas las traducciones: Aviso de producto excluido, consentimientos en la página de pago según el art. 16, letra m), y el art. 14, apartado 4, letra a), y artículos excluidos registrados en el pedido. El estado explícito en una traducción seguirá prevaleciendo en caso de excepciones específicas de cada idioma.
- Todos los enlaces se adaptan al idioma del visitante: Página de desistimiento, vista imprimible del anexo I.B, botón en los correos electrónicos de WooCommerce, enlace de aviso de exclusión y el shortcode
[ayudawp_withdrawal_link]. - Tus propios textos siguen siendo traducibles, sin necesidad de códigos: Un archivo
wpml-config.xmlincluido en el plugin despliega los títulos y el contenido de los avisos, la introducción del formulario, los textos de consentimiento y la dirección del vendedor en la sección «String Translation», copia el estado de desistimiento a las traducciones y marca el registro de solicitudes como no traducible.
Las cadenas propias del plugin se entregan como paquetes de idioma para cada configuración regional. Mira las preguntas frecuentes para conocer la limitación actual existente en los correos electrónicos del plugin.
Creado para uso real
- Carga condicional de recursos: El CSS solo se carga en la página de desistimiento, en las páginas de productos individuales que muestran el aviso de exclusión y en las pantallas de administración del plugin.
- Listo para traducciones: El español (es_ES) y el resto de configuraciones regionales se distribuyen como paquetes de idioma desde translate.wordpress.org, por lo que se actualizan automáticamente. Sigue los estándares de programación de WordPress, con salidas totalmente escapadas y entradas sanitizadas, comprobaciones de capacidades y nonces en cada acción de administración.
- 11 filtros documentados y 4 acciones para que los desarrolladores y las agencias puedan ampliar el plugin sin necesidad de crear una bifurcación.
- PHP 7.4+, WordPress 6.0+, WooCommerce 7.0+ (opcional).
¿Por qué este plugin?
La directiva de la UE es aplicable para todos los estados miembros desde el 19 de junio de 2026, por lo que el directorio de WordPress.org se está llenando de plugins de «botón de desactivación». Este destaca por motivos evidentes:
- Totalmente gratuito, sin planes de pago. Sin extensiones premium, sin características bloqueadas que requieran compras adicionales, sin versión «Pro» pendiente. Todo lo que se describe en esta página es lo que obtienes al instalarlo.
- Función integrada de confirmar desistimiento en dos pasos, conforme a los requisitos mínimos de la UE establecidos en el artículo 11 bis, apartado 3: el formulario público muestra una pantalla de revisión de solo lectura y registra la solicitud únicamente tras una confirmación explícita, íntegramente desde el servidor y sin necesidad de JavaScript, mientras que muchos plugins de «solo botón» registran la solicitud con el primer clic.
- Único plugin del directorio que genera un hash SHA-256 como prueba en un soporte duradero por cada solicitud de desistimiento, recuperable a partir de los campos almacenados en caso de que surja una disputa posteriormente.
- Único plugin del directorio que proporciona el formulario modelo de desistimiento del Anexo I.B, generado automáticamente a partir de los datos de la tienda, con una vista imprimible, cumpliendo así con la obligación de información prevista en el artículo 6, apartado 1, letra h), que la nueva directiva no reemplaza.
- Único plugin del directorio que inserta las dos casillas de consentimiento (art. 16, letra m), sobre contenidos digitales, y art. 14, apartado 4, letra a), servicios iniciados anticipadamente) en la página de finalización de la compra de WooCommerce, con una prueba duradera que se conserva en el pedido.
- Único plugin del directorio que incluye las exclusiones de productos y categorías Artículo 16 con herencia completa de subcategorías. Plugins similares solo ofrecen en su versión Pro de pago.
- Integración nativa con las herramientas de WordPress para el RGPD (fragmento de política de privacidad + exportador y borrado de datos personales): no es necesario instalar ningún otro plugin para el RGPD.
- Independiente o con WooCommerce. Funciona sin WooCommerce como herramienta independiente (formulario, shortcode, registro, correos electrónicos, SHA-256, RGPD, anexo I.B) y activa automáticamente las características específicas para tiendas cuando detecta WooCommerce.
- Compatiblepor defecto con Sequential Order Numbers (versiones gratuita y Pro) y Custom Order Numbers for WooCommerce (Tyche y WPFactory), con un filtro para cualquier otro esquema de numeración.
- Compatibilidad multilingüe real (WPML, Polylang): Las exclusiones y los consentimientos de pago, una vez configurados, se aplican a todas las traducciones, y los textos editables se pueden traducir desde «String Translation».
- Configurable desde la interfaz de usuario de ajustes, sin necesidad de escribir código: base del plazo (fecha del pedido frente a fecha de finalización) y días de gracia además de un modo opcional de plazo estricto, estados de pedido admisibles, página de cancelación, correo electrónico de aviso (ahora admite varios destinatarios), remitente del correo electrónico y textos editables de los correos de estado, texto de consentimiento por tipo, texto de aviso de exclusión por tipo, introducción del formulario editable, auto-declaración opcional del consumidor B2B, dirección, teléfono y correo electrónico del vendedor según el anexo I.B, y qué perfiles pueden gestionar las solicitudes.
- Ideal para desarrolladores: 11 filtros documentados + 4 acciones para que las agencias puedan ampliarlo sin necesidad de crear una bifurcación.
- Mantenido por un desarrollador español experto en WordPress, con más de 20 años de experiencia en la plataforma: La traducción a es_ES la mantiene actualizada el autor en la plataforma oficial de traducción de WordPress.org y ofrece respuestas rápidas en el foro de soporte de WordPress.org, además de una hoja de ruta activa con mejoras gratuitas (widget clásico, bloque de Gutenberg, widget de escritorio, estado de pedido personalizado de WooCommerce y mucho más, y todo gratis).
Hoja de ruta
Planificado para las próximas versiones gratuitas:
- Compatibilidad con el bloque de finalizar compra de WooCommerce para los consentimientos de los artículos 16(m) y 14(4)(a), para tiendas que ya hayan migrado desde el shortcode clásico de finalizar compra.
- Las plantillas de correo electrónico en HTML heredan el tema de correos electrónicos de WooCommerce, y los correos electrónicos del plugin se generan en el idioma del cliente en las tiendas multilíngües.
- Bloque de Gutenberg y widget clásico para el enlace de desistimiento.
- Estado de pedido personalizado de WooCommerce «Desistimiento solicitado» con transición automática al aceptarse.
- Descarga en formato PDF de la solicitud con el código de verificación SHA-256 de recepción impreso.
- Widget de escritorio con contadores, solicitudes pendientes y estadísticas mensuales.
Privacidad
Este plugin almacena los siguientes datos personales para cada solicitud de devolución, con el único fin de cumplir con los requisitos legales de trazabilidad en materia de derechos del consumidor y permitir que la tienda gestione la solicitud:
- Nombre y dirección de correo electrónico del cliente (datos necesarios para ponernos en contacto con el consumidor en relación con la solicitud).
- Referencia y fecha del pedido (datos necesarios para validar la solicitud con respecto a la compra).
- Dirección IP y cadena User-Agent (necesarias para acreditar cuándo y cómo se envió la solicitud, según el requisito de «medio duradero» de la directiva).
- Marca temporal del envío (UTC) y hash SHA-256 de la recepción (necesario para volver a calcular y verificar la integridad del envío original en caso de disputa).
Los datos se almacenan como una entrada de tipo de contenido personalizado privado (ayudawp_withdrawal) al que solo tienen acceso los administradores. El plugin no envía ningún dato a servicios de terceros; toda la comunicación se realiza entre la tienda y el cliente a través de los correos electrónicos estándar de WordPress.
Deberías añadir una sección a la política de privacidad de tu sitio web en la que se describa este almacenamiento. El plugin proporciona un texto sugerido para la política de privacidad que puedes pegar desde «Ajustes Privacidad Guía de la política». Los datos de desistimiento también se muestran en las pantallas nativas de WordPress, en «Herramientas Exportar datos personales» y «Herramientas Borrar datos personales» (filtrados por el correo electrónico del cliente).
Soporte
¿Necesitas soporte privado o un desarrollo personalizado?
¿Necesitas ayuda individualizada, resolución de problemas prioritaria o una funcionalidad, integración o adaptaciones personalizadas creadas específicamente para tu sitio? Ofrezco soporte privado y desarrollos personalizados. Solo tienes que contactarme y decirme qué necesitas.
¿Necesitas ayuda o tienes sugerencias?
¿Te gusta el plugin? ¡Déjanos un comentario de 5 estrellas y así ayudas a que lo conozcan otros!
Acerca de AyudaWP.com
Somos especialistas en plugins de optimización de seguridad, SEO, IA y rendimiento para WordPress. Creamos herramientas que solucionan problemas reales a los propietarios de sitios WordPress manteniendo los más altos estándares de programación y requisitos de accesibilidad.
Capturas












Instalación
- Sube la carpeta del plugin al directorio
/wp-content/plugins/ - Activa el plugin desde el menú Plugins de WordPress.
- El plugin crea automáticamente una página llamada «Derecho de desistimiento» con una plantilla legal de ejemplo. Puedes revisarla y editarla desde «Páginas».
- Ve a «Desistimientos Ajustes» para configurar la dirección de correo electrónico de aviso y la página que aloja el formulario.
- Añade la URL de la página de desistimiento al pie de página o a la sección de enlaces legales, para que sea visible desde cualquier página de tu sitio web.
FAQ
-
¿Pueden los clientes ver qué ha ocurrido con una solicitud que hayan enviado?
-
Sí, en las páginas de WooCommerce y para los clientes que tengan una cuenta. «Mi cuenta Derecho de desistimiento» se abre con sus propias solicitudes: cuándo se envió cada una, el pedido al que se refiere, si abarca todo el pedido o productos específicos, su estado actual, la nota que escribes al aceptarla, rechazarla o completarla, y el código de recibo de la confirmación. La fila de un pedido que ya tiene una solicitud también muestra ese estado junto a «Ver», donde antes estaba el botón de desistimiento, y una solicitud rechazada mantiene su botón «Contestar al rechazo». Las solicitudes aparecen en la lista cuando el cliente las ha enviado estando conectado, lo que incluye tanto las enviadas desde el formulario público como las registradas sin un pedido asociado, o cuando están vinculadas a uno de sus propios pedidos. Ambos casos sirven como prueba de que la solicitud es suya.
Algo que se omite deliberadamente es la dirección de la cuenta: WooCommerce permite al cliente cambiarla sin confirmar la nueva, por lo que una lista por dirección mostraría las solicitudes enviadas como invitado desde cualquier dirección que no tenga una cuenta en la tienda. Por lo tanto, las solicitudes enviadas como invitado quedan fuera de la cuenta y, en su caso (al igual que para los invitados en general y para los sitios sin WooCommerce), el rastro lo constituyen el correo electrónico de confirmación y los correos electrónicos de estado, que es el soporte duradero que exige la directiva. Puedes desactivar todo esto en «Desistimiento Ajustes General» si prefieres gestionar las solicitudes únicamente por correo electrónico.
-
¿Puedo mover las casillas de consentimiento la página de finalizar compra a otro sitio?
-
Sí, con el filtro
ayudawp_euw_consent_hook, pero lee primero las ventajas e inconvenientes. Por defecto se muestran enwoocommerce_after_order_notes, en la columna de detalles del cliente, que WooCommerce muestra una sola vez y no vuelve a modificar. El panel de revisión del pedido, situado junto a la aceptación de las condiciones, parece el lugar más lógico, y es donde la mayoría de las tiendas quieren que aparezcan, pero WooCommerce vuelve a mostrar ese panel con cada actualización AJAX, por lo que una casilla de selección colocada allí se duplica y pierde lo que el cliente ya había marcado cada vez que cambia la dirección, el método de envío o la forma de pago.add_filter( 'ayudawp_euw_consent_hook', function () { return 'woocommerce_review_order_before_submit'; } );Si se devuelve una cadena vacía, se suprime por completo la visualización, en el caso de las tiendas que colocan las casillas de selección con su propio código de plantilla.
ayudawp_euw_consent_appliesdetermina, para cada carrito, si se solicita cada consentimiento, yayudawp_euw_consent_is_requiredestablece si es obligatorio u opcional. Ambos reciben el tipo de consentimiento (apara el art. 16, letra m),bpara el art. 14, apartado 4, letra a)). -
¿El formulario verificará el plazo de 14 días?
-
No rechaza automáticamente las solicitudes basándose en ello. El plazo de desistimiento de 14 días comienza legalmente a partir del momento en que se entregan los productos (o, en el caso de los contenidos digitales, desde el inicio de la descarga), una fecha que la tienda no puede detectar automáticamente. Por lo tanto, rechazar una solicitud basándose en la fecha del pedido o de finalización supondría el riesgo de perder clientes que aún se encuentran dentro del plazo legal. En su lugar, el plugin marca las solicitudes que parecen haber superado el plazo aproximado en el correo electrónico de aviso al administrador y te permite verificar la fecha real de entrega (por ejemplo, a través del seguimiento del transportista) y tomar una decisión. La disponibilidad para el formulario, el botón «Mi cuenta» y el aviso por correo electrónico viene determinada por los estados de pedido configurados. Puedes seguir ajustando el cálculo del aviso (fecha del pedido frente a fecha de finalización, más días de gracia) en «Desistimientos Ajustes», y el filtro
ayudawp_euw_grace_dayssigue funcionando, mientras que el filtroayudawp_euw_skip_deadline_checkya no tiene ningún efecto porque ya no hay un plazo límite que saltarse. Si el inicio de la entrega en tu tienda es fiable (servicios y contenidos digitales, en los que el plazo comienza a partir de la fecha del contrato, o recogida en tienda y transportistas predecibles), puedes cambiar el ajuste «Cumplimiento de plazos» de «Informativo» a «Estricto», lo que oculta el botón y bloquea nuevas solicitudes una vez que haya transcurrido el plazo más los días de gracia. «Informativo» sigue siendo la opción predeterminada y la más segura para productos con entrega impredecible. -
¿Cómo puedo marcar los productos que están excluidos del derecho de desistimiento (Artículo 16)?
-
El plugin utiliza un único menú desplegable Estado de desistimiento configurado por categoría y por producto.
- Por categoría: Ve a Productos Categorías, edita la categoría y selecciona un «Estado de desistimiento», por ejemplo, Otras excepciones del artículo 16 para productos perecederos o hechos a medida, o Contenidos digitales (art. 16, letra m)) para contenido digital precintado. Todos los productos de esa categoría (y sus subcategorías) heredarán el estado automáticamente.
- Por producto: Edita el producto, desplázate hasta la pestaña «General» y selecciona allí el «Estado de deistimiento». Por defecto está configurado en — Heredar de la categoría; selecciona cualquier otra opción (incluida Estándar) para ignorar la herencia solo para ese producto.
Los cuatro estados posibles son:
- Estándar —El desistimiento se aplica de forma habitual (por defecto).
- Contentos digitales (art. 16, letra m)) — El producto queda excluido del derecho de desistimiento, y en la página de finalización de la compra de WooCommerce aparece una casilla de consentimiento obligatoria para cualquier carrito que contenga dicho producto.
- El servicio se inició anticipadamente (art. 14, apartado 4, letra a)) — El derecho de desistimiento sigue siendo aplicable, y en la página de finalización de la compra aparece una casilla de consentimiento opcional para que el comerciante pueda cobrar un importe prorrateado si el cliente desiste después de que el servicio haya comenzado.
- Otras excepciones del Artículo 16: el producto está excluido (productos perecederos, hechos a medida, con precinto de higiene, soportes de audio, vídeo o software precintados que se hayan abierto tras la entrega, etc.), no es necesario el consentimiento al finalizar la compra.
Cuando se recibe una solicitud de desistimiento que afecta a un pedido que contiene artículos excluidos, el plugin lo indica en el correo electrónico de aviso al administrador y en la pantalla de detalles de la solicitud. La solicitud nunca se rechaza automáticamente, ya que un desistimiento parcial de los artículos no excluidos del mismo pedido puede seguir siendo válido. El administrador revisa la solicitud y toma una decisión.
Si el «Aviso de productos excluidos» está activado (por defecto: sí), también aparecerá un aviso configurable en la página del producto individual, entre el precio y el botón «Añadir al carrito», para que el consumidor lo lea antes de realizar la compra.
Actualización desde versiones anteriores: Cualquier categoría que antes estuviera en la lista del selector «Categorías excluidas» (ya retirado) se migra automáticamente al nuevo menú desplegable por categoría (con el estado Otras excepciones del artículo 16) en el siguiente acceso a la administración. No se pierde ninguna configuración.
-
El aviso de producto excluido no aparece en mi maquetador de páginas (Divi, Elementor, Bricks…), ¿qué puedo hacer?
-
Los maquetadores de páginas como Divi, Elementor, Bricks o ShopLentor generan su propia plantilla de producto individual y no utilizan el gancho estándar de WooCommerce (
woocommerce_single_product_summary), donde el plugin inserta el aviso de producto excluido, por lo que este no aparece automáticamente. Inserta el shortcode[ayudawp_withdrawal_excluded_notice]en el diseño de tu producto (la mayoría de los maqueradores cuentan con un elemento «Shortcode») y el aviso se mostrará para el producto actual siempre que dicho producto esté marcado como excluido. Si no se especifican atributos se aplica al producto que se está viendo (pasaid=«123»para seleccionar un producto específico). -
¿Cómo funcionan las casillas de consentimiento en la página de finalización de la compra (art. 16, letra m), y art. 14, apartado 4, letra a))?
-
El plugin puede insertar dos casillas de consentimiento en la página de finalización de la compra de WooCommerce cuando el carrito contiene productos marcados para ello:
- Tipo A (obligatorio, art. 16, letra m)): Contenidos digitales. El cliente debe aceptarlo para completar el pedido; si no se registra la aceptación el cliente conserva el derecho de desistimiento de 14 días incluso después de haber accedido al contenido.
- Tipo B (opcional, art. 14, apartado 4, letra a)): Servicios iniciados dentro del plazo de 14 días. Si se acepta, el comerciante podrá cobrar un importe prorrateado cuando el cliente desista una vez iniciado el servicio. Sin ello, un desistimiento anticipado obliga a un reembolso íntegro.
Cada indicador se configura por producto (pestaña «General») o por categoría (pantalla «Editar categoría»), con herencia completa de las subcategorías, con la misma jerarquía que utiliza el módulo de exclusiones del artículo 16. El texto exacto que se muestra al cliente, junto con el estado de aceptación o rechazo, la marca temporal, la dirección IP y el agente de usuario, se registran en el pedido, para que el comerciante tenga una prueba duradera en caso de que el cliente impugne posteriormente la solicitud. La caja meta de cada solicitud de desistimiento también muestra estos consentimientos del pedido vinculado.
Las dos casillas de verificación se pueden activar o desactivar globalmente desde «Desistimientos Consentimiento en el proceso de pago», y su texto es totalmente modificable.
-
Vendo a negocios (B2B), ¿puedo excluirles del derecho de desistimiento?
-
El derecho de desistimiento protege a los consumidores (personas físicas que actúan al margen de su actividad comercial o profesional), no a los compradores comerciales, pero el plugin nunca decide eso por ti. Activa «Auto-declaración como consumidor» en «Desistmientos Ajustes Formulario público de desistimiento» y el formulario mostrará una casilla de selección obligatoria en la que el comprador declara que ha realizado la compra como consumidor, mientras que una empresa que no pueda declararlo quedará excluida automáticamente, y la declaración se almacenará junto con la solicitud como prueba. Está desactivado por defecto. Utiliza el atributo
consumer_check=«yes»del shortcode para activarlo en una página de destino específica, o el filtroayudawp_euw_show_consumer_checkpara aplicar una lógica personalizada (validación VIES, un campo de tipo de cliente, etc.). -
¿Incluye el plugin el modelo de formulario de desistimiento del anexo I.B requerido por la Directiva 2011/83/UE?
-
Sí, el plugin muestra el modelo del formulario del anexo I.B automáticamente con el nombre de la tienda, la dirección (procedente de WooCommerce, cuando esté disponible) y el correo electrónico de aviso, además de un número de teléfono del comerciante opcional que se puede configurar en los ajustes. Aparece como un bloque plegable justo debajo del formulario de desistimiento público, con una vista imprimible disponible desde la misma página. Facilitar este modelo es una obligación de información precontractual en virtud del artículo 6, apartado 1, letra h), de la Directiva 2011/83/UE. La función online añadida por la Directiva 2023/2673 la complementa, pero no la sustituye.
-
¿Qué es el código de verificación de la recepción que aparece en el correo electrónico del cliente?
-
Se trata de un hash SHA-256 calculado a partir de los datos de la solicitud (ID de la publicación, nombre del cliente, correo electrónico, referencia del pedido, ámbito, fecha del pedido y marca temporal de envío). El cliente conserva el correo electrónico como evidencia a prueba de manipulaciones en un medio duradero. Si más adelante surge una disputa, puedes volver a calcular el hash a partir de los campos almacenados con la función auxiliar
ayudawp_euw_compute_receipt_hash()y confirmar que el envío original no fue alterado. -
¿Dónde se almacenan las solicitudes de desistimiento?
-
Cada solicitud se guarda como una entrada de tipo de contenido personalizado privado denominado
ayudawp_withdrawal. Puedes gestionarlos en Desistimientos en tu área de administración. No son accesibles públicamente desde la interfaz de usuario. -
¿Puedo elegir quién puede gestionar las solicitudes de desistimiento?
-
Sí, desde «Desistimientos Ajustes Permisos». Como cada solicitud contiene datos personales (nombre, correo electrónico, IP), puedes elegir qué perfiles de usuario, además del administrador, pueden verlas y gestionarlas. El administrador siempre tiene acceso y no se puede desmarcar. En los sitios que se actualizan desde una versión anterior, los perfiles que ya podían ver las solicitudes (normalmente «Editor» y «Gestor de tienda» en WooCommerce) conservan su acceso para que todo siga funcionando correctamente, y luego puedes desmarcar los que quieras eliminar. Las nuevas instalaciones comienzan solo con el administrador.
-
¿Es compatible con HPOS (High-Performance Order Storage)?
-
Sí. El plugin declara su compatibilidad con HPOS al cargarse.
-
¿El plugin funciona sin WooCommerce?
-
Sí. El formulario, el shortcode, el registro de solicitudes de desistimiento, los avisos por correo electrónico, el hash SHA-256 del recibo y la integración nativa con RGPD funcionan como una herramienta independiente, con su propio menú de primer nivel «Desistimientos» en la administración y un submenú «Ajustes». El plugin añade automáticamente características adicionales cuando WooCommerce está activo, como la validación de pedidos/correos electrónicos condicionada a los estados de pedido elegibles (con un indicador de plazo de aviso para el administrador), el enlace para el desistimiento en «Mi cuenta», el aviso de desistimiento incluido en los correos electrónicos transaccionales, la columna «Desistir» en la pantalla de pedidos, notas privadas de pedido en cada cambio de estado y exclusiones del artículo 16 por producto/categoría. Activando WooCommerce posteriormente se activan esas características y desactivándolo se mantienen intactas las características independientes.
-
¿Funciona con plugins que modifican el número de pedido de WooCommerce (números de pedido secuenciales, números de pedido personalizados, etc.)?
-
Sí. El formulario admite tanto el ID interno del pedido de WooCommerce como el número de pedido que se muestra. El sistema de resoluciones comprueba una lista de claves meta conocidas: las estándar
_order_numbery_order_number_formatted(WooCommerce Sequential Order Numbers, versión gratuita y Pro), además de_alg_wc_full_custom_order_numbery_alg_wc_custom_order_number(Tyche / WPFactory «Custom Order Numbers for WooCommerce»). Añade otros plugins de numeración con el filtroayudawp_euw_order_number_meta_keys. Para esquemas calculados en tiempo real (por ejemplo, YITH Sequential Order Number o integraciones personalizadas), puentea la búsqueda con el filtroayudawp_euw_pre_resolve_wc_order. -
El formulario indica que no puede asociar la dirección de correo electrónico con el número de pedido. ¿Puedo aceptar esas solicitudes de todos modos?
-
Por defecto, el formulario comprueba que el número de pedido y la dirección de correo electrónico coincidan con tus pedidos de WooCommerce y rechaza el envío de inmediato si no coinciden. Si prefieres no perder esas solicitudes (errores de tecleo, compras realizadas fuera de WooCommerce, un esquema de numeración que la herramienta no reconoce), activa Aceptar solicitudes con datos no encontrados en Desistimientos Ajustes Estados de pedido elegibles. De este modo, la solicitud se registra de todos modos y se marca como Sin verificar: el cliente ve un aviso en la pantalla de confirmación invitándole a volver a comprobar la referencia (aún así puede confirmar y enviar la solicitud), y la solicitud aparece resaltada en el correo electrónico de aviso, en la lista de solicitudes y en su pantalla de detalles, para que puedas verificarla manualmente comparándola con tus registros antes de tomar una decisión. Las solicitudes sin verificar nunca se vinculan a un pedido (sin nota de pedido, sin comprobaciones de estado ni de plazos) y el acuse de recibo se envía igualmente a la dirección facilitada. Desactivado por defecto.
-
El formulario dice que la solicitud ya no está a la espera de confirmación, antes de que la envía el cliente. ¿A que es debido?
-
El flujo en dos pasos exigido por el artículo 11 bis mantiene la declaración validada en el servidor, en un dato transitorio de un solo uso con una duración de 15 minutos, entre el formulario y la pantalla de revisión. Cuando una caché de objetos no almacena los datos transitorios de forma fiable (por ejemplo, un plugin de Redis o Memcached mal configurado, o un plugin de caché que los vacía de forma agresiva), la declaración ya ha desaparecido en el momento en que el cliente confirma, y el formulario le pide que vuelva a empezar. Para confirmar la causa, desactiva la caché de objetos durante un momento y vuelve a enviar el formulario, y si el proceso se completa, esa era la causa. Los datos transitorios son el mecanismo estándar de WordPress para hacer este tipo de cosas, y la alternativa (transportar la declaración en la URL o en campos ocultos) rompería la garantía de que lo que se registra es exactamente lo que se validó, por lo que la solución pasa por la configuración de la caché.
-
¿Aparecerá el aviso en todos los correos electrónicos de WooCommerce?
-
No. Por defecto, el aviso solo se añade a los correos electrónicos dirigidos al cliente que son relevantes para el plazo de desistimiento: procesamiento del pedido, pedido completado y factura del cliente (la que se envía manualmente). Los correos electrónicos de administración nunca incluyen el aviso. El aviso también está condicionado a la lista configurada de estados de pedido elegibles (por defecto: «Procesando» y «Completado»), por lo que el correo electrónico de la factura manual solo lo incluye cuando el pedido se encuentra en uno de esos estados. Puedes modificar la lista de correos electrónicos con el filtro
ayudawp_euw_email_idsy la lista de estados en «Desistimientos Ajustes Estados de pedido elegibles» o con el filtroayudawp_euw_allowed_statuses. -
¿Puedo hacer que el aviso de desistimiento que aparece en los correos electrónicos sea más discreto?
-
Sí. Devuelve un array vacío desde el filtro
ayudawp_euw_email_idspara eliminar el bloque de aviso (encabezado, texto y botón) de todos los correos electrónicos de pedido:add_filter( 'ayudawp_euw_email_ids', '__return_empty_array' );Esto solo afecta a los correos electrónicos: el botón «Mi cuenta», el formulario público y el enlace del pie de página siguen funcionando, por lo que la función de desistimiento sigue estando accesible, tal y como exige el artículo 11 bis. Después puedes añadir tu propio texto, más discreto, con un enlace sencillo utilizando el campo «Contenido adicional» de WooCommerce para cada correo electrónico (WooCommerce Ajustes Correos electrónicos, y luego abre cada correo electrónico, como los de pedido «Procesando» o «Completado»). Como se configura para cada correo electrónico, el enlace solo aparecerá donde lo añadas. Dirígelo a tu página de desistimiento y, si quieres que aparezca el número de pedido ya rellenado, añade el marcador de posición
{order_number}al enlace, por ejemplo,.../withdrawal/?order_id={order_number}. Asegúrate de incluir alguna referencia en el correo electrónico de confirmación del pedido: se trata de la confirmación del contrato en un soporte duradero, por lo que la información sobre el desistimiento debe seguir siendo accesible desde él, aunque no necesariamente como un botón destacado. -
¿En qué idiomas está disponible el plugin?
-
Todas las cadenas están preparadas para su traducción. Las traducciones se gestionan a través de la plataforma oficial de WordPress.org en translate.wordpress.org, por lo que cualquier configuración regional que cuente con suficientes cadenas traducidas se incorporará automáticamente a tu sitio web cuando el idioma del sitio de WordPress coincida. Allí se aceptan contribuciones tanto para configuraciones regionales existentes como para nuevas.
-
¿Funciona en sitios multilíngües (WPML, Polylang)?
-
Sí. El estado de desistimiento se configura una sola vez, en el producto (o categoría) en el idioma original del sitio, y se aplica a todas las traducciones: el aviso de productos excluidos, los consentimientos durante el proceso de pago y los artículos excluidos registrados en el pedido se remiten al original, por lo que no es necesario marcar nada dos veces. No obstante, si necesitas una excepción específica para cada idioma, prevalecerá un estado explícito en la traducción. Los enlaces a la página de desistimiento se adaptan al idioma del visitante siempre que exista una traducción de dicha página. El plugin también incluye un archivo
wpml-config.xml, leído tanto por WPML como por Polylang, que convierte los ajustes que contienen el texto visible para el cliente (los títulos y cuerpos de los avisos de productos excluidos, la introducción del formulario, los textos de consentimiento y la dirección del comerciante) en cadenas traducibles en WPML Traducción de cadenas o Idiomas Traducciones. Allí aparecerá un ajuste una vez que hayas escrito tu propio texto en él: si se deja vacío, no hay nada que traducir, ya que el texto procede entonces del paquete de idiomas de cada configuración regional y ya se adapta al idioma del visitante. Así pues, dispones de dos opciones: dejar un campo vacío y dejar que la traducción incluida se encargue de todo, o escribir tu propio texto y traducirlo en «Traducción de cadenas». Los textos incluidos con el plugin no necesitan configuración alguna.Una limitación actual que conviene conocer: Los correos electrónicos propios del plugin (confirmación de recepción, avisos de administración y cambios de estado) se redactan en el idioma por defecto del sitio y no en el idioma en el que el cliente estaba navegando, ya que se generan aparte del sistema de asignación de idiomas de ambos plugins. El aviso de desistimiento que se incluye en los correos electrónicos transaccionales de WooCommerce sí que sigue el idioma del pedido, ya que WooCommerce Multilingual y Polylang for WooCommerce cambian la configuración regional en esos casos. La configuración del idioma por cliente para los correos electrónicos propios del plugin está prevista en la hoja de ruta.
-
¿Cumple el plugin con los requisitos del RGPD?
-
El plugin solicita la aceptación explícita de la política de privacidad antes del envío y almacena la dirección IP del visitante y el agente de usuario únicamente con el fin de garantizar la trazabilidad legal de la solicitud. Consulta la sección Privacidad más arriba para ver la lista completa de los campos almacenados. El plugin también se integra de forma nativa con las herramientas del RGPD de WordPress: aparece un fragmento de política de privacidad sugerido en Ajustes Privacidad Guía de políticas, y los datos de retirada se muestran en Herramientas Exportar datos personales y Herramientas Borrar datos personales, de modo que los administradores pueden atender las solicitudes de acceso y supresión sin salir del panel de administración de WordPress.
-
¿Qué pasa si el cliente borra su cuenta de usuario de WordPress?
-
El registro de desistimientos es independiente de la tabla de usuarios de WordPress, se almacena como un tipo de contenido personalizado privado indexado según el correo electrónico del cliente. Al eliminar la cuenta de usuario no se borra automáticamente el registro; el cliente debe solicitar el borrado a través de Herramientas Borrar datos personales (donde el plugin registra una herramienta de borrado que elimina todas las solicitudes de retirada que coincidan con el correo electrónico del cliente) o bien puedes borrar manualmente los registros correspondientes de
ayudawp_withdrawalsi tu política de retención de datos así lo exige. -
¿Puedo personalizar los correos electrónicos?
-
Sí. Desde «Desistimientos Ajustes Correos electrónicos de desistimiento» puedes configurar el remitente («Nombre del remitente» y «Dirección del remitente») para los correos electrónicos del plugin y modificar el cuerpo de los correos de los estados de aceptado, rechazado y completado (si se dejan en blanco, cada texto se sustituye por el valor por defecto incluido). El aviso al administrador se puede personalizar con el filtro
ayudawp_euw_admin_email_lines, y todas las cadenas siguen siendo traducibles a través del dominio de texto estándar de WordPress. Los correos electrónicos se envían en texto sin formato y está previsto incluir plantillas HTML que hereden el tema de correo electrónico de WooCommerce en una versión posterior. -
¿Qué ganchos ofrece el plugin a los desarrolladores?
-
Filtros:
ayudawp_euw_grace_days— Días adicionales añadidos al plazo de 14 días. El valor por defecto es el valor almacenado en los ajustes; el filtro recibe ese valor, por lo que al devolver$days + Nse le suman esos días.ayudawp_euw_skip_deadline_check: se mantiene por motivos de compatibilidad con versiones anteriores, pero ya no tiene ningún efecto, ya que la fecha límite es meramente orientativa y nunca impide el envío de una entrada, por lo que no hay nada que omitir.ayudawp_euw_email_ids— Array de direcciones de correo electrónico de WooCommerce en las que se inserta el aviso de desistimiento.ayudawp_euw_allowed_statuses— Array de estados de pedido (sin el prefijowc-) para los que se ofrecen el botón de cancelación y la notificación por correo electrónico. Recibe el valor almacenado en los ajustes y elWC_Orderactual (cuando esté disponible).ayudawp_euw_allow_unverified_order— Devuelvetruepara aceptar envíos cuyo número de pedido no coincida con ningún pedido real de WooCommerce. Útil para sitios web que también gestionan compras ajenas a WooCommerce.ayudawp_euw_pre_resolve_wc_order— Interrumpe el proceso de resolución del pedido. Devuelve una instancia deWC_Orderpara aceptar,falsepara rechazar onull(por defecto) para pasar a las estrategias integradas. Útil para plugins que almacenan el número de pedido mostrado fuera del metadato estándar de la entrada_order_number(por ejemplo, YITH Sequential Order Number, integraciones ERP personalizadas).ayudawp_euw_resolve_wc_order— Filtro tardío que recibe el valor resuelto deWC_Order(ofalse) y la referencia sin procesar, para auditorías o anulaciones de última hora.ayudawp_euw_order_number_meta_keys: la lista de claves meta de entrada del pedido que se comprueban al buscar coincidencias con un número de pedido introducido, ordenadas por prioridad. Añade la clave meta de tu plugin de numeración.ayudawp_euw_admin_email_lines: el array que contiene las líneas del correo electrónico de aviso al administrador, justo antes de que se concatenen, con el contexto de la solicitud (ID de la publicación, nombre, correo electrónico, pedido, alcance, detalles) como segundo argumento. Añade, elimina o reordena las líneas.ayudawp_euw_validation_result: el resultado de la validación del pedido o del correo electrónico antes de que la solicitud siga su curso. Devuelvevalid => falsecon un código deerrorpara rechazar un envío, por ejemplo, procedente de una integración de captcha.ayudawp_euw_show_consumer_check: si se muestra la casilla opcional «comprado como consumidor», con los valores actuales de los campos, para que un integrador pueda decidirlo para cada pedido (validación VIES, un campo de tipo de cliente, etc.).
Acciones:
ayudawp_euw_after_submission— Se activa tras procesarse una solicitud de desistimiento. Argumentos: CPT ID, submission data array.ayudawp_euw_after_status_change— Se activa tras un cambio de estado (individual o por lotes). Argumentos: CPT ID, new status, optional admin comment.ayudawp_euw_after_form: se activa dentro del contenedor público del formulario, justo después de la etiqueta</form>, para que los módulos puedan insertar contenido debajo del formulario sin acoplamiento. No admite argumentos. Lo utiliza internamente el formulario modelo del Anexo I.B.ayudawp_euw_form_before_submit: se activa dentro del formulario, justo antes del botón de envío, para que un integrador pueda mostrar un widget de captcha o antispam, o un campo adicional cuyo valor se envíe junto con el formulario. Argumentos: valores predefinidos actuales, indicador de bloqueo.
-
¿Es suficiente este plugin para cumplir con la Directiva de la UE 2023/2673?
-
El plugin cubre los requisitos funcionales que la Directiva 2023/2673 impone en toda la UE a partir del 19 de junio de 2026: una función de desistimiento digital fácilmente localizable, la elegibilidad en función del estado del pedido con un indicador de plazo de aviso, exclusiones del Artículo 16 con herencia de subcategorías, pruebas en soporte duradero mediante el hash SHA-256 del recibo, el formulario modelo del Anexo I.B de la Directiva 2011/83/UE y las casillas de doble consentimiento en la página de pago que permiten las excepciones del Art. 16(m) y del Art. 14(4)(a). Además, añade herramientas operativas que la directiva no exige pero que facilitan la gestión de las solicitudes, como la inserción de correos electrónicos por estado, el ciclo de vida de los estados con acciones masivas, la integración nativa del RGPD, el aviso público sobre productos excluidos y la trazabilidad completa. Los estados miembros pueden añadir requisitos nacionales adicionales a la base de la UE, como el flujo de confirmación en dos pasos con una página de revisión intermedia que exigen los estados miembros más estrictos (Alemania, por ejemplo). Una futura versión se adaptará a cualquier requisito adicional del Real Decreto español definitivo una vez que se publique. El cumplimiento legal depende en última instancia de tu modelo de negocio, catálogo y jurisdicción; el plugin proporciona los componentes técnicos básicos, no asesoramiento legal. Consulta a un especialista en derecho del consumidor para tu caso específico.
-
En parte. Este plugin implementa los requisitos relativos al derecho de desistimiento de la Directiva 2011/83/UE sobre los derechos de los consumidores, una de las directivas modificadas por la Directiva (UE) 2019/2161 (la Directiva Ómnibus).
No cubre otras obligaciones derivadas de la Directiva Ómnibus, como mostrar el precio más bajo de los últimos 30 días en las rebajas o verificar las opiniones de los clientes. Esos requisitos requieren soluciones específicas.
Reseñas
Colaboradores y desarrolladores
«Cumplimiento del derecho de desistimiento de la UE» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
Colaboradores«Cumplimiento del derecho de desistimiento de la UE» está traducido en 3 idiomas. Gracias a los traductores por sus contribuciones.
Traduce «Cumplimiento del derecho de desistimiento de la UE» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
2.2.2
- Corrección: Los nombres de sitios con apóstrofos, el símbolo «&» o comillas llegaban a los clientes como código HTML en los correos electrónicos del plugin. Una tienda llamada «Musee d’Impressionnisme» enviaba su correo de confirmación con el apóstrofo de su propio nombre sustituido por una cadena de código HTML en el asunto, y terminaba el mensaje de la misma forma, y lo mismo ocurría con los avisos de administración y los correos de estado. WordPress almacena el nombre del sitio ya codificado, y estos correos son de texto sin formato, por lo que no hay ningún navegador que pueda convertir ese código de nuevo en un apóstrofo. Ahora el nombre se descodifica antes de utilizarse, y todos los correos del plugin se leen tal y como se llama realmente la tienda. Informado en el foro de soporte. Las páginas que genera el plugin nunca se vieron afectadas, ya que allí un navegador resolvía el código, por lo que el nombre siempre se mostraba correctamente.
2.2.1
- Mejorado: El correo electrónico de confirmación ya no promete revisar la solicitud y confirmar los siguientes pasos «en un plazo de 24 horas». Ninguna norma impone ese plazo (el artículo 11 bis, apartado 4, exige el acuse de recibo en un soporte duradero sin demoras indebidas, lo que ya cumple el correo electrónico automático), por lo que el plugin estaba atribuyendo al comerciante una promesa comercial que la tienda podría no ser capaz de cumplir, por escrito y en el mismo correo electrónico que sirve como prueba del envío. Ahora dice «lo antes posible» y mantiene la frase en la que se invita al cliente a responder si no recibe respuesta, lo que evita las solicitudes duplicadas.
- Mejorado: Probado hasta WordPress 7.1. Se ha comprobado que es compatible con los cambios que introduce esta versión en las áreas que utiliza este plugin: las nuevas cabeceras de fila de las tablas de la lista de entradas, donde se muestra la lista de desistimientos, el marcado de secciones de la API de ajustes y las herramientas de exportación y borrado de datos de privacidad. No ha sido necesario realizar ningún ajuste en ninguna de ellas.
2.2.0
- Nuevo: Los clientes pueden realizar un seguimiento de sus solicitudes de desistimiento desde su cuenta. La pestaña «Derecho de desistimiento» de «Mi cuenta» ahora se abre con sus propias solicitudes, cada una con la fecha en que se envió, el pedido, el alcance, su estado actual, la nota que escribes al resolverla y el código de recibo. Además, en la fila de un pedido que ya tenga una solicitud, se muestra ese estado donde antes estaba el botón de desistimiento, en vez de dejar el espacio vacío sin ninguna explicación. Muestra las solicitudes que han enviado mientras estaban conectados, incluidas las registradas sin ningún pedido asociado y las vinculadas a sus propios pedidos. Los correos electrónicos de confirmación y de estado enlazan con la misma pantalla. Está activo por defecto, con una opción para desactivarlo («Desistimientos Ajustes General»).
- Nuevo: El consentimiento para el inicio del servicio previsto en el artículo 14, apartado 4, letra a), puede activarse de forma obligatoria («Desistimientos Ajustes Consentimiento al finalizar compra»). Está desactivado por defecto, ya que solicitar que el servicio comience antes de lo previsto es una decisión del cliente; resulta útil para tiendas en las que el servicio siempre comienza dentro del plazo de desistimiento, como sesiones en directo o reservas, en las que realizar el pedido sin esa solicitud no tiene sentido.
- Nuevo: Filtros para desarrolladores relacionados con los consentimientos en la página de finalizar compra.
ayudawp_euw_consent_hookyayudawp_euw_consent_hook_prioritytrasladan las casillas de selección a otro gancho del proceso de pago (o suprimen su visualización con una cadena vacía),ayudawp_euw_consent_appliesdecide, para cada carrito, si se solicita cada consentimiento, yayudawp_euw_consent_is_requiredestablece si es obligatorio u opcional. Consulta las preguntas frecuentes para conocer las ventajas e inconvenientes de trasladarlos al panel de revisión del pedido. - Mejorado: La página de ajustes ahora avisa cuando falta la página de desistimiento configurada, cuando está en la papelera, está sin publicar o ya no contiene el shortcode del formulario, para que una página borrada o sin publicar por error no deje todos los enlaces de desistimiento sin destino.
- Mejorado: La página creada al activarse ya no incluye en su contenido el párrafo «plantilla de ejemplo, revísala antes de publicarla», que se mostraba a los clientes cuando nadie se acordaba de borrarlo. Ahora, este recordatorio aparece en la página de ajustes y solo hasta que edites la página.
- Mejorado: Cada texto de ayuda del formulario público está ahora vinculado a su campo mediante
aria-describedby, de modo que los lectores de pantalla lo anuncian junto con el campo en lugar de como texto independiente. - Corrección: El botón «Editar datos» de la pantalla de confirmación parecía no hacer nada cuando había pasado el plazo de revisión o la solicitud ya se había confirmado. El formulario se volvía a cargar sin explicación alguna, aparecía vacío en la página pública y, en «Mi cuenta», volvía a los detalles del pedido, que seguían siendo de solo lectura. Ahora indica lo que ha ocurrido y distingue entre una solicitud ya enviada y una caducada, por lo que ya no se pide a un cliente cuya solicitud esté registrada que la envíe de nuevo.
Para entradas anteriores del registro de cambios revisa el archivo changelog.txt.
