Wordpress заставляет пользователя войти в систему, прежде чем просматривать любой контент сайта - PullRequest
8 голосов
/ 19 декабря 2011

В WordPress я пытаюсь заставить пользователя войти в систему, прежде чем увидеть что-либо. Означает, что я хочу, чтобы мой пользователь сначала авторизировался для просмотра любой отдельной страницы, записи или архива, и только они могут видеть страницу часто задаваемых вопросов. Я пытаюсь использовать приведенный ниже код, но проблема в том, что как только я вошел в систему, он снова перенаправляет меня на страницу входа.

Однако структура моего сайта будет такой же, как и ниже, и я хочу, чтобы этот код работал ...

// Force user to login on welcome
function my_force_login() {
global $post;

    if (is_single() || is_front_page() || is_page() && !is_page('login') && !is_user_logged_in()){ 
        auth_redirect(); 
    }   
}

Экран входа в систему Welcomd (например, Facebook) -Домашняя страница -Blog -Около -контактных -FAQ

Поэтому я хочу, чтобы посетитель мог видеть только экран приветствия при входе в систему и FAQ, страницу контактов для просмотра остальной части сайта. Я хочу заставить их войти в систему ..

Мне нужна огромная помощь вам, люди .. Заранее большое спасибо ..

Ответы [ 3 ]

8 голосов
/ 19 декабря 2011

Я думаю, вам не хватает скобки:

if ( ( is_single() || is_front_page() || is_page() ) 
       && !is_page('login') && !is_user_logged_in()){ 
    auth_redirect(); 
} 
1 голос
/ 09 февраля 2012

Простой способ

// Require login for site
get_currentuserinfo();
global $user_ID;
if ($user_ID == '') { 
  header('Location: /wp-login.php'); exit(); 
} 
1 голос
/ 19 декабря 2011

Есть плагин, который вы можете использовать для этого. Только для частных лиц

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...