wc_empty_coupon_trash: vaciar permanentemente los cupones en la papelera

Elimina de forma permanente los cupones que ya están en la papelera. Está marcada como destructiva, y lo es de verdad: nada sobrevive.

Argumentos

Argumento Obligatorio Significado
dry_run No Muestra lo que se purgaría, sin purgar

No hay forma de elegir qué cupones: toma todo lo que esté actualmente en la papelera, por lotes.

Permisos

Allow WooCommerce catalog writes abierto, además del acceso al catálogo y el permiso de eliminación para cada cupón seleccionado.

Gestiona 100 por llamada

La herramienta consulta hasta 100 cupones en la papelera y los elimina. Una papelera con 250 cupones necesita tres llamadas.

La respuesta informa de complete y de cuántos se eliminaron. Si falla, se detiene e incluye failed_id; las eliminaciones ya completadas no se revierten. Un resultado de exactamente 100 es una pista clara de que hay más:

Purga la papelera y vuelve a comprobar el número de cupones.

Usa wc_get_coupon_count para conocer el tamaño de antemano y para confirmar después que la papelera está vacía.

La simulación es la útil

La vista previa devuelve la lista real de IDs de cupones que purgaría.

Esa lista merece leerse antes de cada llamada. Es la última oportunidad de darse cuenta de que algo se envió a la papelera por accidente y está a punto de volverse irrecuperable:

Haz una simulación de la purga y muéstrame los IDs; luego lee cada uno para que pueda ver los códigos.

Ten en cuenta que los IDs son todo lo que obtienes: sin códigos, sin importes. Leerlos individualmente es la única forma de ver qué está a punto de destruirse, y después de la purga no queda nada que leer.

Por qué la ejecutarías

El motivo suele ser que un código necesita reutilizarse. Un cupón en la papelera mantiene su código reservado, así que BLACKFRIDAY no puede volver a crearse mientras el del año pasado siga en la papelera.

Purgar libera esos códigos. Ese es el uso previsto, y también el riesgo: un código anual liberado mediante la purga es un código sin registro de lo que hizo la última vez.

Nada aquí es selectivo

No hay ningún argumento para purgar un solo cupón, ni los cupones anteriores a una fecha, ni todo excepto unos pocos. Vacía la papelera.

Si solo hace falta liberar un código, la vía más segura es eliminar permanentemente ese cupón concreto con wc_delete_coupon y force, dejando intacto el resto de la papelera.

Recurre a esta herramienta solo cuando vaciar toda la papelera sea realmente lo que se pretende.

Los pedidos anteriores no se ven afectados

Los pedidos que usaron esos cupones conservan sus descuentos y sus totales. Lo que desaparece es el propio registro del cupón, lo que dificulta responder más adelante a preguntas sobre qué ofrecía un código histórico.

Si ese historial importa para la contabilidad, expórtalo antes de purgar.

Ejecútala primero en staging si la papelera es grande

Una papelera con unos pocos cupones es una decisión pequeña. Una papelera con 300 es un archivo, y purgarla elimina todo el registro de ofertas retiradas de la tienda.

Confírmalo con quien gestione las promociones de la tienda antes de ejecutarla a esa escala.

Después de purgar

  1. Comprueba el número de cupones y confirma que trash es cero, o vuelve a llamar si no lo es.
  2. Si purgaste para liberar un código, crea el nuevo cupón y confirma que el código se acepta.

Problemas comunes

Síntoma Causa
La escritura se rechaza Puerta de escritura del catálogo cerrada
pom_ai_mcp_wc_forbidden Falta manage_woocommerce o edit_shop_coupons
La papelera sigue sin estar vacía Se enviaron a la papelera más de 100; vuelve a llamar
Exactamente 100 eliminados El tamaño del lote por llamada, no el total
Un cupón no puede recuperarse Correcto; esto es permanente
Un código sigue sin poder reutilizarse Otro cupón en un estado distinto lo retiene