Redirect wp-signup.php When Registration Is Closed
Sends visitors who land on wp-signup.php to a page you choose (or the homepage) when network registration is turned off, instead of showing a bare "Registration has been disabled" screen.
Opens WPIDE on
Code
if ( ! is_multisite() ) {
return;
}
$wpide_target = '/'; // Path on the main site or full URL.
add_action( 'before_signup_header', function () use ( $wpide_target ) {
if ( 'none' !== get_site_option( 'registration', 'none' ) || is_super_admin() ) {
return;
}
$url = wp_http_validate_url( $wpide_target ) ? $wpide_target : network_home_url( $wpide_target );
wp_safe_redirect( $url, 302 );
exit;
} );
add_filter( 'allowed_redirect_hosts', function ( $hosts ) use ( $wpide_target ) {
$host = wp_parse_url( $wpide_target, PHP_URL_HOST );
if ( $host ) {
$hosts[] = $host;
}
return $hosts;
} );
Notes
Set $wpide_target to a full URL or a path on the main site.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.