wtyczki – Niestandardowy login i reset hasła dla witryny BuddyPress
![wtyczki – Niestandardowy login i reset hasła dla witryny BuddyPress](https://oen.pl/wp-content/uploads/2023/09/apple-touch-icon@2.png)
Moja witryna internetowa jest witryną społecznościową i siecią społecznościową obsługiwaną przez BuddyPress.
Ale sposób, w jaki zaprojektowano BuddyPress, polega na pracy w WordPressie i używaniu ustawień domyślnych WP-Login.Php Strona do obsługi logowania i resetowania haseł.
Jako witryna społecznościowa i sieci społecznościowej oznacza to, że setki osób będzie się logować, aby zarejestrować się i utworzyć konta w mojej witrynie.
W 99% przypadków nie chcemy, aby nasi Użytkownicy kiedykolwiek widzieli Administrator WP i WP-Login.Php Strony.
Krótko mówiąc, nie chcemy, aby nasi użytkownicy nawet wiedzieli, że a Administrator WP I WP-Login.Php Strona nawet istnieje.
Przepływ powinien być zgodny z tym, nawet jeśli ludzie celowo wpisują „ mojadomena.com/wp-admin ” lub celowo wpisują „ mojadomena.com/wp-login.php ”, powinien natychmiast i natychmiastowo przekierować ich do Niestandardowa strona logowania frontendu które stworzyliśmy – i nigdy nie powinni widzieć „ wp-admin ” I ” wp-login.php Strony.
Mam ten fragment kodu PHP, który już pomaga mi obsłużyć przekierowanie na interfejsie do my Niestandardowa strona logowania:
// Redirect wp-login.php to the custom login page
function wbcom_custom_login_redirect($redirect_to, $request, $user) {
// Is there a user to check?
if (isset($user->roles) && is_array($user->roles) && in_array('subscriber', $user->roles)) {
// Redirect them to the default place
return home_url('/login'); // Updated to use /login
} else {
return $redirect_to;
}
}
add_filter('login_redirect', 'wbcom_custom_login_redirect', 10, 3);
// Redirect non-logged-in users accessing wp-login.php
function wbcom_redirect_non_logged_in_users() {
if (!is_user_logged_in() && strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false && !isset($_POST['wp-submit']) && !defined('DOING_AJAX')) {
$custom_login_url = home_url('/login'); // Updated to use /login
wp_redirect($custom_login_url);
exit;
}
}
add_action('init', 'wbcom_redirect_non_logged_in_users');
Ten kod działa, ponieważ faktycznie przekierowuje moich użytkowników na moją niestandardową stronę logowania.
Wyzwanie, przed którym stoję, polega na tym, że nie jestem w stanie ominąć tego WP-Login.Php Strona dla Resetowania hasła.
Powodem, dla którego muszę ominąć stronę WP-Login.Php w celu zresetowania hasła, jest to, że WP-Login.Php Strona kieruje ludzi na Strona administratora WP.
I Administrator WP Strona dezorientuje wielu naszych użytkowników. To sprawia, że myślą, że na stronie internetowej prawdopodobnie istnieją 2 oddzielne przepływy użytkowników.
Ogólnym zamierzeniem jest posiadanie formularza, który może inicjować logowanie, a także resetowanie hasła.
I musi ominąć WP-Login.Php Strona w procesie resetowania hasła.
W tym samouczku wyjaśniono cały proces:
Oto pełny samouczek, który wyjaśnia cały proces, począwszy od utworzenia formularzy rejestracji, logowania i resetowania hasła–
Potrzebuję kogoś, kto pomoże mi przejść przez ten samouczek i przekonwertować cały kod z tego samouczka na funkcjonalną wtyczkę WordPress – która faktycznie może zrobić to, co chcę osiągnąć.
Pozdrowienia.