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

Jak przekierować użytkowników po zalogowaniu w WordPressie; Przekierowanie użytkownika na konkretną stronę po zalogowaniu w WordPressie; Wtyczka do przekierowania po zalogowaniu w WordPressie; Przekierowanie po zalogowaniu w WordPressie na poprzednią stronę; Ustawienie adresu URL przekierowania po zalogowaniu w WordPressie; Przekierowanie użytkowników po rejestracji w WordPressie; Niestandardowe przekierowanie po zalogowaniu w WordPressie; Przekierowanie konkretnych użytkowników po zalogowaniu w WordPressie; Przekierowanie w WordPressie w zależności od roli użytkownika; Przekierowanie 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

<?php
// Redirect users to a specific page after login based on user role

function wp_dudecom_login_redirect($redirect_to, $request, $user) {
    // Check if the user is a valid WP_User object
    if (isset($user->roles) && is_array($user->roles)) {
        // Redirect based on user role
        if (in_array('administrator', $user->roles)) {
            return admin_url(); // Redirect administrators to the dashboard
        } elseif (in_array('editor', $user->roles)) {
            return home_url('/editor-dashboard'); // Redirect editors to a custom page
        } elseif (in_array('subscriber', $user->roles)) {
            return home_url('/subscriber-home'); // Redirect subscribers to a specific page
        } else {
            return home_url(); // Default redirect for other roles
        }
    } else {
        return $redirect_to; // Default redirect if user roles are not set
    }
}
add_filter('login_redirect', 'wp_dudecom_login_redirect', 10, 3);

// Redirect users to a specific page after registration
function wp_dudecom_registration_redirect() {
    return home_url('/welcome'); // Redirect to a welcome page after registration
}
add_filter('registration_redirect', 'wp_dudecom_registration_redirect');

// Redirect users to the previous page after login
function wp_dudecom_redirect_to_previous_page() {
    if (isset($_SERVER['HTTP_REFERER'])) {
        wp_safe_redirect($_SERVER['HTTP_REFERER']);
        exit;
    }
}
add_action('wp_login', 'wp_dudecom_redirect_to_previous_page', 10, 2);
?>

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.