Esta guía explica los hooks disponibles en los plugins WPSubscription y WPSubscription Pro. Estos hooks permiten a los desarrolladores activar lógica personalizada en diferentes etapas del ciclo de vida de la suscripción o modificar el comportamiento relacionado con la suscripción.
¿Qué son los Hooks?
Los hooks permiten a los desarrolladores:
Activar acciones cuando se crea, cancela, expira, etc. una suscripción.
Personalizar el comportamiento de WooCommerce durante las renovaciones o el manejo del carrito
Integrarse con herramientas externas (a través de REST API o herramientas de automatización)
Los hooks están disponibles como:
do_action()(Acciones): Activar una función en un punto específicoadd_filter()(Filtros): Modificar datos antes de que sean devueltos o guardados
Hooks de la Versión Gratuita
Estos están disponibles en el plugin WPSubscription gratuito.
Nombre del Hook | Activado Cuando | Parámetros |
|---|---|---|
| La suscripción está activada |
|
| La suscripción expira |
|
| La suscripción está cancelada |
|
| La suscripción está marcada para cancelación |
|
| El estado de la suscripción está pendiente |
|
| Reanudada desde la cancelación |
|
| El estado cambia |
|
| Alerta por correo electrónico al administrador |
|
Hooks de la Versión Pro
Estos están disponibles solo en WPSubscription Pro y se utilizan principalmente para automatización e integraciones.
Nombre del gancho | Se activa cuando | Parámetros |
|---|---|---|
| Cancelado a través de la API |
|
| Pausado a través de la API |
|
| Reactivado a través de la API |
|
| Estado cambiado a través de la API |
|
| Prueba finalizada |
|
| Marcado como expirado |
|
| El pago falla |
|
| La clave de API está verificada |
|
| Suscripción expirada, y comenzó el período de gracia | $subscription_id |
| Suscripción expirada, y el período de gracia ha terminado | $subscription_id |
| Orden de actualización/bajada de suscripción creada | $switch_type, $order, $order_item, $switch_context |
| Actualización/bajada de suscripción completada. | $switch_type, $order, $order_item, $switch_context |
Ganchos de Notificación por Correo Electrónico
Utilizado para personalizar el contenido y comportamiento de los correos electrónicos enviados a clientes o administradores.
Nombre del gancho | Propósito |
|---|---|
| Correo electrónico del administrador sobre el cambio de estado |
| Correo electrónico al cliente por suscripción expirada |
| Disparador de correo electrónico del sistema para expiración |
Ejemplo: Personalizar el Contenido del Correo Electrónico
add_action('subscrpt_subscription_expired_email', function($subscription_id) {
add_filter('woocommerce_email_content', function($content) use ($subscription_id) {
return $content . "\n\n¡Renueva hoy y ahorra un 10%!";
});
});Filtros de Pago y Carrito
Estos permiten la personalización de cómo se comportan los productos de suscripción durante la renovación y el pago.
Nombre del Filtro | Descripción |
|---|---|
| Agregar meta al pedido de renovación |
| Modificar argumentos del producto para renovaciones |
| Modificar datos del artículo del carrito para suscripciones |
Filtros de Administración
Nombre del Filtro | Descripción |
|---|---|
| Personalizar avisos de administración para suscripciones |
| Agregar enlaces de acción del plugin (por ejemplo, Configuración, Actualizar) |
Ganchos de Automatización
Utilizados por plugins de terceros para Automatizaciones o herramientas externas similares para el control programático de suscripciones.
Gancho | Descripción |
|---|---|
| Cancelar suscripción a través de un desencadenador externo |
| Pausar suscripción |
| Reanudar suscripción pausada |
| Cambiar estado manualmente |
| Reactivar una suscripción cancelada |
Mejores Prácticas
Usar
add_action()oadd_filter()con una función de callback únicaUsar correctamente la prioridad y el número de argumentos aceptados:
add_action('subscrpt_subscription_activated', 'my_custom_function', 10, 1);
Casos de Uso
Enviar una alerta personalizada de Slack en renovaciones fallidas
Asignar roles automáticamente en la activación
Desencadenar flujos de trabajo de CRM en pausa o cancelación
Extender plantillas de correo electrónico con ofertas de lealtad
Actualizar paneles externos sobre cambios de suscripción