Cómo deshabilitar la página de registro de Multisitio en WordPress

12 feb 2013, 10:15:36
Vistas: 16.6K
Votos: 7

Si intentamos acceder a un sitio Multisitio que no existe, por ejemplo, http://site1.example.com o http://example.com/site1/, somos redirigidos a http://example.com/wp-signup.php?new=site1.

¿Cómo bloquear esto y redirigir el navegador a otra página?

0
Todas las respuestas a la pregunta 3
6
20

[Actualización]

Una alternativa (quizás mejor) es usar la siguiente constante en wp-config.php:

define( 'NOBLOGREDIRECT', 'http://ejemplo.com' );

Al principio del archivo wp-signup.php se encuentra este código:

function do_signup_header() {
    do_action( 'signup_header' );
}
add_action( 'wp_head', 'do_signup_header' );

Por lo tanto, solo es necesario agregar el hook de acción signup_header para interrumpir cualquier ejecución adicional y redirigir el navegador a otra URL.

Aquí, empaquetado como un Plugin de Uso Obligatorio:

<?php
/*
    Plugin Name: Multisitio - Prevenir Página de Registro
    Plugin Url: http://wordpress.stackexchange.com/q/85529/12615
    Version: 1.0
    Author: Rodolfo Buaiz
*/

add_action( 'signup_header', 'rbz_prevent_multisite_signup' );

function rbz_prevent_multisite_signup() 
{
    wp_redirect( site_url() );
    die();
}
12 feb 2013 10:15:36
Comentarios

@kaiser, siempre me ha disgustado este comportamiento en redes cerradas ;)

brasofilo brasofilo
13 feb 2013 14:18:46

oye, nuestro @kaiser, hay una mejor alternativa, en mi opinión. Actualicé la A con ella. También publiqué una relacionada.

brasofilo brasofilo
3 may 2013 04:18:31

Solo quería decir que no me gusta el comportamiento principal. Mientras tanto encontré los DropIns relevantes, cuando hablé sobre ellos. +1 a ambas respuestas.

kaiser kaiser
3 may 2013 13:12:54

Estuve experimentando mucho con la función para evitar redirecciones y .htaccess para reconocer */wp-signup.php y redirigir a la página de inicio de la red. ¡El define( 'NOBLOGREDIRECT', %URL% ); finalmente lo resolvió! +1 (nota: el resultado no necesariamente es visible en localhost con redirección de URL personalizada usando el archivo hosts de Windows)

rkeet rkeet
20 oct 2014 16:42:47

Acabo de intentar ejecutar esto como un plugin MU y está causando un error (headers already sent).

Ken Prince Ken Prince
8 oct 2016 20:26:18

Esto es incorrecto - el hook que se debe usar es before_signup_header, no signup_header. De lo contrario, recibirás errores de 'Headers already sent'.

Mark Mark
30 jul 2017 11:55:44
Mostrar los 1 comentarios restantes
1

Encontré una solución en este artículo

Tenía el valor incorrecto para la configuración SUBDOMAIN_INSTALL en mi archivo de configuración.

30 nov 2014 05:25:23
Comentarios

Una respuesta que solo contiene un enlace se volverá inválida si el enlace muere. ¿Podrías por favor [editar] y elaborar tu respuesta brevemente, y luego proporcionar el enlace para información adicional?

Mayeenul Islam Mayeenul Islam
30 nov 2014 07:03:09
2

Simplemente agrega lo siguiente en wp-content/mu-plugins/disable-signups.php:

<?php
remove_action( 'wp_head', 'do_signup_header' );

La página de registro ahora mostrará:

El registro ha sido deshabilitado.

7 feb 2023 09:22:19
Comentarios

¿por qué hacer eso si el registro se puede desactivar en la Configuración?

Mark Lee Mark Lee
27 nov 2024 13:35:01

@markLee depende del caso de uso, tal vez quieres tenerlo desactivado sin posibilidad de anulación, por ejemplo debido a una política de la organización.

svandragt svandragt
28 nov 2024 15:23:42