WordPress reindirizza alla landing page se non connessi

27 giu 2012, 03:40:14
Visualizzazioni: 16.7K
Voti: 3

Sto utilizzando il seguente codice nel mio file functions.php per reindirizzare gli utenti che non hanno effettuato l'accesso a una specifica landing page

    <?php
if(!is_user_logged_in()) {
    wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
}

Il problema è che non riesco più ad accedere a wp-login o wp-admin. Ogni URL viene reindirizzato alla landing page. Esiste un modo per escludere determinati URL dal reindirizzamento?

php
0
Tutte le risposte alla domanda 2
6

qualcosa come:

if (
  !in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))
  && !is_admin()
  && !is_user_logged_in()
) {
  wp_redirect('http://www.mysite.com/landingpage', 301);
  exit;
}

dovrebbe funzionare.

vedi http://codex.wordpress.org/Function_Reference/is_admin & Controlla se wp-login è la pagina corrente

27 giu 2012 03:45:57
Commenti

Grazie per la risposta. Sembra che questa soluzione possa funzionare, ma sto ricevendo un errore di sintassi alla riga 5. Hai qualche idea?

User User
27 giu 2012 03:57:09

sì, scusa. mi mancavano le parentesi.

User User
27 giu 2012 03:57:37

quali parentesi?

User User
27 giu 2012 04:07:05

ho già modificato la risposta. quelli dietro is_user_logged_in inizialmente mancavano... era quello?

User User
27 giu 2012 04:09:59

No, sto ancora ricevendo l'errore sulla riga 5

User User
27 giu 2012 04:11:57

anche la riga2 mancava di una parentesi alla fine.... (modificato)

User User
27 giu 2012 04:14:54
Mostra i restanti 1 commenti
1
<?php
if($_SERVER['REQUEST_URI'] != '.../' || $_SERVER['REQUEST_URI'] != '.../'){

   if(!is_user_logged_in()) {
       wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
   }
}

Questo codice verifica se ti trovi su una pagina specifica prima di eseguire il reindirizzamento. Se la prima condizione risulta vera e l'utente non è loggato, verrà eseguito il reindirizzamento.

27 giu 2012 03:45:37
Commenti

se ho utilizzato questa condizione, ho ricevuto il messaggio "Warning: Cannot modify header information".

Husain Ahmed Husain Ahmed
17 set 2016 16:56:24