$hooks) { if (!is_array($hooks) || empty($hooks[$hook]) || !is_array($hooks[$hook])) { continue; } foreach ($hooks[$hook] as $sig => $data) { $args = []; if (is_array($data) && isset($data['args']) && is_array($data['args'])) { $args = $data['args']; } wp_unschedule_event((int) $timestamp, $hook, $args); } } } public static function deactivate(): void { // Clean up scheduled events. self::unschedule_hook_all('aetos_seo_run_audit_job'); self::unschedule_hook_all('aetos_seo_run_crawl_batch_job'); // Legacy hook names from earlier builds; safe no-op on current installs. self::unschedule_hook_all('aetos_seo_crawl_batch'); } }