Как добавить исключение перенаправления для вышедших пользователей в WordPress - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть код ниже, чтобы перенаправить моих зарегистрированных пользователей WordPress на страницу / login /

<?php
if (!is_user_logged_in()) {
    if ( ! is_page( 'register-member' ) )
     if ( ! is_page( 'groups' ) ){
 wp_redirect( 'https://members.google.com/login/');
 exit;
} 
} ?>

И в настоящее время я внесен в белый список / register-member / и / groups /, поэтому зарегистрированные пользователи могут получить к ним доступ.

Но я пытаюсь добавить в белый список больше страниц, и он не работает, и я думаю, что он перезаписывается темой (BuddyPress)

Также я использую плагин "Restrict Content Pro"

Так что я ищу решение занести в белый список другие страницы.

1 Ответ

0 голосов
/ 28 апреля 2019

Вы можете делать эти вещи с is_user_logged_in() и is_front_page(). Если это не так, вы можете использовать wp_redirect(), чтобы перенаправить пользователя на домашнюю страницу.

Предполагая, что страница забытого пароля является "страницей", вы также можете использовать is_page() в своей логике.

Вам нужно будет подключить его к действию, чтобы оно срабатывало достаточно поздно, чтобы позволить проверить страницу, но достаточно рано, чтобы все еще безопасно перенаправить пользователя (т.е. до отправки заголовков). template_redirect идеально подходит для этого.

add_action( 'template_redirect', 'my_frontpage_redirect' );
function my_frontpage_redirect() {
    if ( ! is_user_logged_in() ) {
        if ( ! is_front_page() && ! is_page( 'my-password-reset' ) ) {
            wp_redirect( home_url() );
            exit();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...