WordPress redirecționează către pagina de destinație dacă utilizatorul nu este autentificat
Folosesc următorul cod în fișierul meu functions.php pentru a redirecționa utilizatorii care nu sunt autentificați către o anumită pagină de destinație:
<?php
if(!is_user_logged_in()) {
wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
}
Problema este că nu mai pot accesa wp-login sau wp-admin. Orice URL redirecționează către landingpage. Există vreo modalitate prin care să pot exclude anumite URL-uri de la redirecționare?

ceva de genul:
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;
}
ar trebui să funcționeze.
vezi http://codex.wordpress.org/Function_Reference/is_admin și Verifică dacă pagina curentă este wp-login

Mulțumesc pentru răspuns. Se pare că asta ar funcționa, dar primesc o eroare de sintaxă la linia 5. Ai vreo idee?

am editat deja răspunsul. cele din spatele is_user_logged_in lipseau inițial... asta era?

<?php
if($_SERVER['REQUEST_URI'] != '.../' || $_SERVER['REQUEST_URI'] != '.../'){
if(!is_user_logged_in()) {
wp_redirect( 'http://www.mysite.com/landingpage', 301 ); exit;
}
}
Acest cod verifică dacă te afli pe o anumită pagină, înainte de a executa redirecționarea. Dacă prima condiție este adevărată și utilizatorul nu este autentificat, va fi redirecționat.
