diff --git a/inc/class-admin.php b/inc/class-admin.php index ff93b4f..d573540 100644 --- a/inc/class-admin.php +++ b/inc/class-admin.php @@ -16,24 +16,13 @@ final class Admin { use Singleton; protected function __construct() { - add_action('wp', [$this, 'logout'], 1); - add_action('wp', [$this, 'handle_redirect'], 2); + add_action('admin_init', [$this, 'maybe_logout'], 1); } - public function logout():void { + public function maybe_logout():void { if (!is_user_logged_in()) return; wp_logout(); - $this->do_redirect(); - } - - public function handle_redirect():void { - if (is_front_page()) return; - $this->do_redirect(); - } - - private function do_redirect():void { - wp_redirect(get_site_url()); - exit; + Redirect::do_redirect(); } } diff --git a/inc/class-redirect.php b/inc/class-redirect.php new file mode 100644 index 0000000..0cc109b --- /dev/null +++ b/inc/class-redirect.php @@ -0,0 +1,35 @@ +add_files([ - 'inc/class-template.php', + 'inc/class-redirect.php', 'inc/class-admin.php', + 'inc/class-template.php', ]); }