Код для создания редиректа после входа в систему?

20 февр. 2017 г., 12:11:47
Просмотры: 15.3K
Голосов: 2

У меня есть этот код для создания редиректа после входа. Я не вижу ошибок, но он не работает. Нет никаких ошибок, просто ничего не происходит.

Я добавил этот код в functions.php в своей дочерней теме.

/*******************************
    РЕДИРЕКТ
*********************************/

add_action('wp_head','redirect_admin');
function redirect_admin(){
  if(is_admin()&&!current_user_can('level_10')){
    wp_redirect(WP_HOME.'/quote-list/');
    die; // Обязательно завершаем выполнение
  }
}
0
Все ответы на вопрос 1
0

Вы можете использовать хук login_redirect.

function redirect_admin( $redirect_to, $request, $user ){

    // есть ли пользователь для проверки?

    if ( isset( $user->roles ) && is_array( $user->roles ) ) {

        // проверяем администраторов
        if ( in_array( 'administrator', $user->roles ) ) {

            $redirect_to = WP_HOME.'/quote-list/'; // URL для перенаправления
        }
    }

    return $redirect_to;
}

add_filter( 'login_redirect', 'redirect_admin', 10, 3 );

Пример взят из WordPress Codex

Также функция is_admin() проверяет не является ли пользователь администратором, а отображается ли панель администратора.

20 февр. 2017 г. 12:22:29