Supposons que tu utilises le plugin « WooCommerce Subscriptions » ou tout autre plugin d’abonnement pour facturer tes clients de manière récurrente. Dans ce cas, tu veux absolument éviter que tes clients soient débités automatiquement — au pire, plusieurs fois pendant les tests — depuis ton site de staging.
Tu veux également stopper l’exécution d’autres événements planifiés sur ton site de staging, comme l’envoi d’e-mails de rappel d’expiration de licence. Pour désactiver ces événements automatiques, tu dois désactiver le planificateur d’actions en arrière-plan utilisé par WooCommerce.
Deux options s’offrent à toi pour désactiver les abonnements et le planificateur d’actions WooCommerce :
Désactiver le planificateur d’actions WooCommerce pour les abonnements via un plugin
Installe et active le plugin gratuit Action Scheduler – Disable Default Runner.
Désactiver le planificateur d’actions WooCommerce pour les abonnements via du code
Ajoute le code ci-dessous dans le fichier functions.php ou dans un plugin séparé :
function PREFIX_disable_action_scheduler() {
if ( class_exists( 'ActionScheduler' ) ) {
remove_action( 'action_scheduler_run_queue', array( ActionScheduler::runner(), 'run' ));
}
}
add_action( 'init', 'PREFIX_disable_action_scheduler', 10 );Remarque : remplace PREFIX par quelque chose d’unique.
Ce plugin/code désactive tous les événements du planificateur d’actions WooCommerce utilisé par les plugins WooCommerce, de sorte que les événements planifiés tels que les paiements récurrents ou l’envoi d’e-mails seront désactivés pour WooCommerce et tous ses modules complémentaires.
Pour plus d’informations, consulte cet article.