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ífico

  • add_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

subscrpt_subscription_activated

La suscripción está activada

$subscription_id

subscrpt_subscription_expired

La suscripción expira

$subscription_id

subscrpt_subscription_cancelled

La suscripción está cancelada

$subscription_id

subscrpt_subscription_pending_cancellation

La suscripción está marcada para cancelación

$subscription_id

subscrpt_subscription_pending

El estado de la suscripción está pendiente

$subscription_id

subscrpt_subscription_resumed

Reanudada desde la cancelación

$subscription_id, $old_status

subscrpt_subscription_status_changed

El estado cambia

$subscription_id, $old_status, $new_status

subscrpt_status_changed_admin_email_notification

Alerta por correo electrónico al administrador

$post_id, $old_status_label, $new_status_label


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

subscrpt_subscription_cancelled

Cancelado a través de la API

$subscription_id

subscrpt_subscription_pending

Pausado a través de la API

$subscription_id

subscrpt_subscription_activated

Reactivado a través de la API

$subscription_id

subscrpt_subscription_status_changed

Estado cambiado a través de la API

$subscription_id, $old_status, $new_status

subscrpt_subscription_trial_ended

Prueba finalizada

$subscription_id

subscrpt_subscription_expired

Marcado como expirado

$subscription_id

subscrpt_subscription_payment_failed

El pago falla

$subscription_id

subscrpt_api_verified

La clave de API está verificada

api_key

subscrpt_grace_period_started

Suscripción expirada, y comenzó el período de gracia

$subscription_id

subscrpt_grace_period_ended

Suscripción expirada, y el período de gracia ha terminado

$subscription_id

subscrpt_switch_order_created

Orden de actualización/bajada de suscripción creada

$switch_type, $order, $order_item, $switch_context

subscrpt_switch_completed

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

subscrpt_status_changed_admin_email

Correo electrónico del administrador sobre el cambio de estado

subscrpt_subscription_expired_email

Correo electrónico al cliente por suscripción expirada

subscrpt_subscription_expired_email_notification

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

subscrpt_renewal_item_meta

Agregar meta al pedido de renovación

subscrpt_renewal_product_args

Modificar argumentos del producto para renovaciones

subscrpt_block_simple_cart_item_data

Modificar datos del artículo del carrito para suscripciones


Filtros de Administración

Nombre del Filtro

Descripción

post_updated_messages

Personalizar avisos de administración para suscripciones

plugin_action_links_{plugin_file}

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

subscrpt_cancel_subscription

Cancelar suscripción a través de un desencadenador externo

subscrpt_pause_subscription

Pausar suscripción

subscrpt_resume_subscription

Reanudar suscripción pausada

subscrpt_change_status

Cambiar estado manualmente

subscrpt_reactivate_subscription

Reactivar una suscripción cancelada


Mejores Prácticas

  • Usar add_action() o add_filter() con una función de callback única

  • Usar 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