Snippet

Przekierowanie użytkowników na konkretne strony po zalogowaniu w WordPressie

Jak przekierować użytkowników po zalogowaniu w WordPressiePrzekierowanie użytkownika na konkretną stronę po zalogowaniu w WordPressieWtyczka do przekierowania po zalogowaniu w WordPressiePrzekierowanie po zalogowaniu w WordPressie na poprzednią stronęUstawienie adresu URL przekierowania po zalogowaniu w WordPressiePrzekierowanie użytkowników po rejestracji w WordPressieNiestandardowe przekierowanie po zalogowaniu w WordPressiePrzekierowanie konkretnych użytkowników po zalogowaniu w WordPressiePrzekierowanie w WordPressie w zależności od roli użytkownikaPrzekierowanie użytkowników WordPressa na stronę główną po zalogowaniu

Objaśnienie

Chcesz przekierować użytkowników na konkretną stronę po zalogowaniu? Ten kod robi dokładnie to, w zależności od ich roli w WordPressie.

  • Administratorzy: Zostaną przeniesieni do panelu administracyjnego.
  • Redaktorzy: Trafią na specjalnie dla nich przygotowaną stronę.
  • Subskrybenci: Zostaną skierowani na stronę dla subskrybentów.
  • Wszyscy inni: Przejdą na stronę główną.

Jeśli użytkownik się zarejestruje, zostanie przekierowany na stronę powitalną. To miły gest, aby przywitać nowych członków.

A jeśli ktoś zaloguje się z konkretnej strony, zostanie odesłany z powrotem tam, skąd przyszedł. To przydatne, jeśli chcesz utrzymać płynność i brak zakłóceń w nawigacji.

Te przekierowania są ustawiane za pomocą filtrów i akcji WordPressa, które działają jak małe haki, pozwalające na zmianę działania bez modyfikacji plików rdzeniowych. Wystarczy wkleić ten kod do pliku functions.php swojego motywu, a wszystko będzie działać!

Kod

1<?php 2// Redirect users to a specific page after login based on user role 3 4function wp_dudecom_login_redirect($redirect_to, $request, $user) { 5 // Check if the user is a valid WP_User object 6 if (isset($user->roles) && is_array($user->roles)) { 7 // Redirect based on user role 8 if (in_array('administrator', $user->roles)) { 9 return admin_url(); // Redirect administrators to the dashboard 10 } elseif (in_array('editor', $user->roles)) { 11 return home_url('/editor-dashboard'); // Redirect editors to a custom page 12 } elseif (in_array('subscriber', $user->roles)) { 13 return home_url('/subscriber-home'); // Redirect subscribers to a specific page 14 } else { 15 return home_url(); // Default redirect for other roles 16 } 17 } else { 18 return $redirect_to; // Default redirect if user roles are not set 19 } 20} 21add_filter('login_redirect', 'wp_dudecom_login_redirect', 10, 3); 22 23// Redirect users to a specific page after registration 24function wp_dudecom_registration_redirect() { 25 return home_url('/welcome'); // Redirect to a welcome page after registration 26} 27add_filter('registration_redirect', 'wp_dudecom_registration_redirect'); 28 29// Redirect users to the previous page after login 30function wp_dudecom_redirect_to_previous_page() { 31 if (isset($_SERVER['HTTP_REFERER'])) { 32 wp_safe_redirect($_SERVER['HTTP_REFERER']); 33 exit; 34 } 35} 36add_action('wp_login', 'wp_dudecom_redirect_to_previous_page', 10, 2); 37?>

Instrukcja

Aby wdrożyć przekierowanie użytkowników po zalogowaniu w zależności od ich roli, wykonaj następujące kroki:

Lokalizacja pliku: functions.php (znajduje się w katalogu aktywnego motywu) lub plik niestandardowej wtyczki.

Wymagania wstępne:

  • Dostęp do systemu plików Twojej witryny WordPress (za pomocą FTP lub menedżera plików).
  • Podstawowa znajomość edytowania plików PHP.

Kroki wdrożenia:

  1. Utwórz kopię zapasową swojej witryny: Przed wprowadzeniem jakichkolwiek zmian upewnij się, że masz kopię zapasową swojej witryny.
  2. Dostęp do pliku: Przejdź do katalogu swojego motywu i otwórz plik functions.php. Alternatywnie, jeśli wolisz używać wtyczki, otwórz plik swojej niestandardowej wtyczki.
  3. Dodaj kod: Skopiuj podany fragment kodu i wklej go na końcu pliku functions.php lub pliku swojej wtyczki.
  4. Zapisz zmiany: Po wklejeniu kodu zapisz plik.
  5. Przetestuj funkcjonalność: Zaloguj się z różnymi rolami użytkowników, aby upewnić się, że są przekierowywani na odpowiednie strony zgodnie z zapisanym kodem.

Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy przy wdrożeniu lub bardziej zaawansowanej funkcjonalności.