Imagina que usas o Plugin “WooCommerce Subscriptions” ou qualquer outro Plugin de subscrições para cobrar os teus clientes de forma recorrente. Nesse caso, queres definitivamente impedir que os clientes sejam cobrados automaticamente outra vez — no pior caso, várias vezes durante os testes — a partir do site de Staging.
Também queres parar a execução de outros eventos agendados no site de Staging, como o envio de e-mails de lembrete de expiração de licenças. Para desativar estes eventos automáticos, precisas de desativar o action scheduler em segundo plano, que é usado pelo WooCommerce.
Tens duas opções para desativar as subscrições e o action scheduler do WooCommerce:
Desativar o Action Scheduler do WooCommerce para subscrições usando um Plugin
Instala e ativa o Plugin gratuito Action Scheduler – Disable Default Runner.
Desativar o Action Scheduler do WooCommerce para subscrições usando código
Adiciona o código abaixo ao functions.php ou a um Plugin separado:
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 );Nota: Muda PREFIX para algo único.
Este Plugin/código desativa todos os eventos na biblioteca action scheduler do WooCommerce que são usados pelos Plugins do WooCommerce, por isso os eventos agendados como pagamentos recorrentes ou envio de e-mails serão desativados para o WooCommerce e todos os seus add-ons.
Para mais informação, consulta este artigo.