Come disabilitare la pagina di registrazione Multisite?

12 feb 2013, 10:15:36
Visualizzazioni: 16.6K
Voti: 7

Se proviamo ad accedere a un sito Multisite inesistente, ad esempio http://site1.example.com o http://example.com/site1/, veniamo reindirizzati a http://example.com/wp-signup.php?new=site1.

Come possiamo bloccare questo comportamento e reindirizzare il browser a un'altra pagina?

0
Tutte le risposte alla domanda 3
6
20

[Aggiornamento]

Un'alternativa (forse migliore) è utilizzare la seguente costante nel file wp-config.php:

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

All'inizio del file wp-signup.php c'è questo codice:

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

Quindi, basta aggiungere l'hook signup_header per interrompere l'esecuzione e reindirizzare il browser a un altro URL.

Ecco il codice integrato in un plugin Must Use:

<?php
/*
    Plugin Name: Multisite - Previeni Pagina di Registrazione
    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
Commenti

@kaiser, non mi è mai piaciuto questo comportamento nelle reti chiuse ;)

brasofilo brasofilo
13 feb 2013 14:18:46

ehi, nostro @kaiser, c'è un'alternativa migliore, secondo me. Ho aggiornato la A con essa. Ho anche pubblicato un articolo correlato.

brasofilo brasofilo
3 mag 2013 04:18:31

Volevo solo dire che non mi piace il comportamento del core. Nel frattempo ho trovato i DropIns riguardanti, quando ne ho parlato. +1 su entrambe le risposte.

kaiser kaiser
3 mag 2013 13:12:54

Ho sperimentato molto con funzioni per prevenire i reindirizzamenti e con .htaccess per riconoscere */wp-signup.php e reindirizzare alla pagina principale della rete. Alla fine define( 'NOBLOGREDIRECT', %URL% ); ha risolto il problema! +1 (da notare: il risultato non è necessariamente visibile su localhost con un reindirizzamento URL personalizzato utilizzando il file hosts di Windows)

rkeet rkeet
20 ott 2014 16:42:47

Ho appena provato a eseguirlo come plugin MU e sta causando un errore (headers già inviati).

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

Questo è errato - l'hook da usare dovrebbe essere before_signup_header, non signup_header. Altrimenti si ricevono errori di 'Headers già inviati'.

Mark Mark
30 lug 2017 11:55:44
Mostra i restanti 1 commenti
1

Ho trovato una soluzione in questo articolo

Avevo un valore errato per l'impostazione SUBDOMAIN_INSTALL nel mio file di configurazione.

30 nov 2014 05:25:23
Commenti

Una risposta costituita solo da un link diventerà non valida se il link smette di funzionare. Potresti per favore [modificare] e ampliare la tua risposta in breve, per poi fornire il link come riferimento per ulteriori informazioni?

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

Aggiungi semplicemente quanto segue in wp-content/mu-plugins/disable-signups.php:

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

La pagina di registrazione ora mostrerà:

La registrazione è stata disabilitata.

7 feb 2023 09:22:19
Commenti

perché farlo se la registrazione può essere disabilitata nelle Impostazioni?

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

@markLee dipende dal caso d'uso, forse vuoi disabilitarla senza un override, ad esempio a causa di una policy aziendale.

svandragt svandragt
28 nov 2024 15:23:42