Пользовательская форма входа в систему для пользователя фронтенда, а также администратора

Я работаю над супружеским сайтом. Я создал вход в систему и форму регистрации для пользователя. И для хранения информации я составил пользовательские таблицы.

В моей форме входа в систему существует два поля EmailID и password.

Для другого пользователя я могу проверить, регистрируется ли пользователь.

Но с помощью той же формы, как я могу проверить, пользователь является администратором?

В поле пароля существует проблема.

(После того, как успешному входу в систему, который я хочу, чтобы администратор перенаправил к некоторым страницам, понравятся отчет и все),

Таким образом, вход в систему панели инструментов и этот вход в систему должны быть отдельными

0
24.01.2020, 23:42
1 ответ

Почему во-первых Вы составили пользовательские таблицы? Существует wp_usermeta таблица для хранения любого вида дополнительных данных для создания пользовательских профилей пользователей с дополнительными полями.

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

Какой метод входа в систему Вас используют?

Проверка, если пользователь является администратором:

if ( current_user_can( 'manage_options' ) ) {
/* A user with admin privileges */
    wp_redirect( 'YOUR_TARGET_ABSOLUTE_URL' );
    exit;
}

Но существует еще лучший путь, как описано в Кодексе:

function my_login_redirect( $redirect_to, $request, $user ) {
//is there a user to check?
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
    //check for admins
    if ( in_array( 'administrator', $user->roles ) ) {
        // redirect them to the default place
        return $redirect_to;
    } else {
        return home_url();
    }
} else {
    return $redirect_to;
}
}

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

Функция симпатична сам объяснительный. Место назначения $redirect_to изменения одному по Вашему выбору.

0
20.02.2020, 01:23
  • 1
    Выше кода хороши для перенаправления, Но теперь как shoul я проверяю, пользователь зарегистрирован, Какая информация хранится в пользовательской таблице –  bhagyashree 25.09.2014, 12:03
  • 2
    Вот почему я спросил, "Почему во-первых Вы составили пользовательские таблицы?". Поскольку при хранении пользователей (не только usermeta, но и пользовательские логины и пароли) в собственной таблице, Вы не можете использовать собственные функции входа в систему WP, и функция is_user_logged_in () не поможет Вам. Но если Вы используете собственную пользовательскую таблицу WP и процесс регистрации/входа в систему, с Вашей собственной формой и пользовательским дизайном, на пользовательской странице - затем это - функция для использования. Посмотрите codex.wordpress.org/Function_Reference/is_user_logged_in –  Ihor Vorotnov 25.09.2014, 14:29
  • 3
    , который я получаю, но у меня есть огромные данные. И у меня нет опции, чем составление пользовательской таблицы. –  bhagyashree 26.09.2014, 07:31
  • 4
    я уже работаю над большим wp многоузловым проектом прямо сейчас с 65k, зарегистрированные пользователи и числа вырастут до миллионов. У нас есть пользовательская регистрация, вход в систему, lostpassword и т.д. (на самом деле, все они просто настраиваются через действия, и фильтрует собственные wp функции). У каждого пользователя есть его собственный 'профиль' пользовательское сообщение типа сообщения с большим количеством usermeta, отношений к другому сообщению текстовые объекты и taxonomies. Все хорошо работает с собственными wp API, потому что мы делаем надлежащее использование всех базовых функций wp, должен предложить. –  Ihor Vorotnov 26.09.2014, 11:16
  • 5
    , которым единственная проблема с wp собственной usermeta таблицей состоит в том, что это не имеет никаких индексов на значениях meta. Так, quering пользователи пользовательскими значениями meta сделает полные сканирования таблицы. Но вместо того, чтобы составить абсолютно пользовательские таблицы мы работаем над дополнительной таблицей с индексами, вращая понятие 'горизонтального meta', предложенного плагином horizontalmeta.com. –  Ihor Vorotnov 26.09.2014, 11:20

Теги

Похожие вопросы