If you are implementing a global functionality for your entire multisite/sub-sites like what you describe, you should implement this as mu-plugins instead adding the cuztomization inside a theme file, just create a file like in wp-content/mu-plugins/GlobalConfig.php
which holds the customization you want and will take effect globally, unless you want this customization for only specific sub-site.
the init
runs before the wp_loaded
, but you can intercept the request at plugins_loaded hook since it runs even before init
e.i.
add_action('plugins_loaded', function() {
//skip wp back-end request
if ( is_admin() )
return;
$isDeleted = get_blog_option(get_current_blog_id(), 'deleted');
if ( $isDeleted )
exit( wp_redirect( 'https://site2.com/sub-page', 301 ) );
});