Как ограничить весь сайт WordPress для посетителей, кроме страницы регистрации и входа?


Я хочу, чтобы весь мой сайт WordPress был ограничен посетителями, но я хочу, чтобы страница регистрации и входа была доступна (не ограничена) посетителям.

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

Я попробовал несколько плагинов, чтобы сделать именно это, но, к сожалению для меня, я не смог найти правильный. Некоторые плагины перенаправляют весь сайт на одну страницу, в то время как другие плагины требуют, чтобы индивидуальные настройки перенаправления были добавлены отдельно для каждой страницы.

Что я хочу:-

  1. Ограничить весь сайт WordPress для посетителей путем перенаправления.
  2. Не ограничивайте 2 страницы, страницу входа и страницу регистрации.
  3. Перенаправить пользователей на страницу входа и / или страницу регистрации.

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

0

Решение

Вы можете просто перенаправить своих пользователей, используя template_redirect крюк

add_action( 'template_redirect', 'redirect_users' );
function redirect_users( $template ) {
if ( !is_user_logged_in() ) {
if ( !is_page( 'register page ID' ) ) {
wp_redirect( wp_login_url() );
}
}

return $template;
}

Вам нужно добавить идентификаторы страниц регистрации и входа в систему и URL страницы входа в функцию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]