「WooCommerce Subscriptions」Plugin やその他のサブスクリプション系 Plugin で、顧客に対する定期課金を行っているとします。その場合、Staging サイトから顧客が自動的に再度課金されること(テスト中に最悪複数回課金されることもあります)を必ず止めたいはずです。
また、Staging サイトでは、ライセンスの期限切れリマインダーメールの送信など、その他のスケジュールイベントの実行も停止したいでしょう。これらの自動イベントを無効化するには、WooCommerce が使用しているバックグラウンドのアクションスケジューラを無効化する必要があります。
Subscriptions の無効化と WooCommerce のアクションスケジューラ無効化には、2 つの方法があります。
Plugin を使って Subscriptions 用の WooCommerce アクションスケジューラを無効化する
無料 Plugin の Action Scheduler – Disable Default Runner をインストールして有効化してください。
コードを使って Subscriptions 用の WooCommerce アクションスケジューラを無効化する
以下のコードを functions.php または別途 Plugin に追加してください。
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 );注意: PREFIX は固有の文字列に変更してください。
この Plugin / コードは、WooCommerce Plugin が使用する WooCommerce アクションスケジューラライブラリのすべてのイベントを無効化するため、定期決済やメール送信などのスケジュールイベントは、WooCommerce とそのすべてのアドオンで無効化されます。
詳しくは、こちらの記事をご覧ください。