Cum să dezactivezi pagina de înscriere Multisite?
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ă?
[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();
}
@kaiser, mereu mi-a displăcut acest comportament în rețelele închise ;)
brasofilo
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
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
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
Tocmai am încercat să rulez asta ca un plugin MU și provoacă o eroare (headere deja trimise).
Ken Prince
Am găsit o soluție în acest articol
Aveam valoarea greșită pentru setarea SUBDOMAIN_INSTALL în fișierul meu de configurare.