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');