Почему flush_rewrite_rules не запускается при активации плагина?

Я пытаюсь сбросить правила перезаписи в плагине, и он не работает. Мне нужно перейти на постоянную ссылку -> сохранить в панели администратора перезаписываемые перезаписи. Может ли кто-нибудь понять, почему?

class SpektrixPlugin { public function __construct(){ add_filter('query_vars', array($this, 'add_query_vars')); add_action('init', array($this, 'add_rewrite_rules')); } public function activate() { flush_rewrite_rules(); } public function deactivate() { flush_rewrite_rules(); } public function add_query_vars($vars) { $vars[] = "event"; // name of the var as seen in the URL return $vars; } public function add_rewrite_rules() { $page = get_page_by_title( 'Event' ); add_rewrite_rule( 'whats-on/(.+)/?$' , 'index.php?page_id='.$page->ID.'&event=$matches[1]' , 'top' ); } } $SpektrixEvents = new SpektrixPlugin; register_activation_hook( __FILE__, array($SpektrixEvents, 'activate') ); register_deactivation_hook( __FILE__, array($SpektrixEvents, 'deactivate') );