Redirige al usuario a la página de login salvo que esté en la página de registro (o de login).
function site_private(): void
{
if (is_user_logged_in()) {
return;
}
if (in_array($GLOBALS['pagenow'], ['wp-login.php', 'wp-register.php'], true)) {
return;
}
wp_redirect(wp_login_url());
exit;
}
add_action('wp', 'site_private');
Modificación para excluir también a la página de inicio.
function site_private(): void
{
if (is_user_logged_in()) {
return;
}
if (is_home()) {
return;
}
if (in_array($GLOBALS['pagenow'], ['wp-login.php', 'wp-register.php'], true)) {
return;
}
wp_redirect(wp_login_url());
exit;
}
add_action('wp', 'site_private');