Lo he hecho, pero ese método no suspende al usuario en Discourse, lo que significa que seguirá recibiendo publicaciones por correo electrónico y podrá interactuar con el foro de esa manera.
Oh, veo. No veo que el plugin tenga una función para suspender al usuario (aunque puede que no sepa dónde buscar). Lo peor que puedes hacer es agregar una llamada a la API al hook que se ejecuta cuando falla su suscripción y hacer que suspenda al usuario. Puedes encontrarlo en Reverse engineer the Discourse API
Suspender y reactivar usuarios será la parte sencilla. El truco consiste en determinar a qué acciones de WooCommerce conectar. Parece que la acción woocommerce_subscription_status_updated debería funcionar. Este hook pasa tres parámetros: $subscription, $new_status y $old_status. Los parámetros de estado son cadenas, por lo que su valor debería ser bastante claro por sí mismo. El parámetro $subscription es un objeto WC_Subscription. Asumo que contiene detalles que permiten encontrar el ID de usuario asociado a la suscripción. Aunque tendría que revisarlo para confirmarlo.
Parámetros:$subscription Un objeto WC_Subscription que representa la suscripción cuyo estado acaba de cambiar.
Descripción: Esta acción se dispara después de que la suscripción especificada con $subscription haya cambiado su estado a activa. El estado de la suscripción pudo haber pasado de pendiente a activa, de en espera a activa o de algún otro estado personalizado a activa.
Parámetros:$subscription Un objeto WC_Subscription que representa la suscripción cuyo estado acaba de cambiar.
Descripción: Esta acción se dispara después de que la suscripción especificada con $subscription haya cambiado su estado.
El estado de la suscripción pudo haber pasado de pendiente a cancelada, de en espera a cancelada, de pendiente de cancelación a cancelada o de algún otro estado personalizado a cancelada.
Acción:'woocommerce_subscription_status_expired'
Parámetros:$subscription Un objeto WC_Subscription que representa la suscripción cuyo estado acaba de cambiar.
Descripción: Se dispara cuando una suscripción llega al final de su período, si se estableció una duración en el producto de suscripción al momento de la compra o si se estableció una fecha de finalización en la suscripción.