Cum să dezactivezi pagina de înscriere Multisite?

12 feb. 2013, 10:15:36
Vizualizări: 16.6K
Voturi: 7

Dacă încercăm să accesăm un site Multisite inexistent, de exemplu http://site1.example.com sau http://example.com/site1/, suntem redirecționați către http://example.com/wp-signup.php?new=site1.

Cum putem bloca acest lucru și redirecționa browserul către altă pagină?

0
Toate răspunsurile la întrebare 3
6
20

[Actualizare]

O alternativă (poate mai bună) este să utilizați următoarea constantă în wp-config.php:

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

La începutul fișierului wp-signup.php există acest cod:

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

Așadar, este suficient să adăugați acțiunea (action hook) signup_header pentru a întrerupe orice execuție ulterioară și a redirecționa browserul către alt URL.

Aici, împachetat ca un Must Use Plugin:

<?php
/*
    Plugin Name: Multisite - Prevenire Pagină Înregistrare
    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
Comentarii

@kaiser, mereu mi-a displăcut acest comportament în rețelele închise ;)

brasofilo brasofilo
13 feb. 2013 14:18:46

hei, dragul nostru @kaiser, există o alternativă mai bună, după părerea mea. Am actualizat răspunsul cu ea. De asemenea, am publicat un articol legat.

brasofilo brasofilo
3 mai 2013 04:18:31

Voiam doar să menționez că nu îmi place comportamentul de bază. Între timp am găsit DropIns-urile relevante, când am vorbit despre ele. +1 pentru ambele răspunsuri.

kaiser kaiser
3 mai 2013 13:12:54

Am tot experimentat cu funcții pentru a preveni redirecționările și cu .htaccess pentru a recunoaște */wp-signup.php și a redirecționa către pagina de start a rețelei. define( 'NOBLOGREDIRECT', %URL% ); a rezolvat în sfârșit problema! +1 (de remarcat: rezultatul nu este neapărat vizibil pe localhost cu o redirecționare URL personalizată folosind fișierul hosts din Windows)

rkeet rkeet
20 oct. 2014 16:42:47

Tocmai am încercat să rulez asta ca un plugin MU și provoacă o eroare (headere deja trimise).

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

Aceasta este incorectă - hook-ul care ar trebui folosit este before_signup_header, nu signup_header. altfel vei primi erori 'Headere deja trimise'.

Mark Mark
30 iul. 2017 11:55:44
Arată celelalte 1 comentarii
1

Am găsit o soluție în acest articol

Aveam valoarea greșită pentru setarea SUBDOMAIN_INSTALL în fișierul meu de configurare.

30 nov. 2014 05:25:23
Comentarii

Un răspuns care conține doar un link va deveni invalid odată cu expirarea linkului. Te rog să [editezi] și să elaborezi pe scurt răspunsul tău, apoi să furnizezi linkul pentru informații suplimentare?

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

Pur și simplu adăugați următorul cod în wp-content/mu-plugins/disable-signups.php:

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

Pagina de înregistrare va afișa acum:

Înregistrarea a fost dezactivată.

7 feb. 2023 09:22:19
Comentarii

de ce să faci asta dacă înregistrarea poate fi dezactivată în Setări?

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

@markLee depinde de cazul de utilizare, poate doriți să o dezactivați fără o suprascriere, de exemplu din cauza unei politici organizaționale.

svandragt svandragt
28 nov. 2024 15:23:42