Jak przekierowywać użytkowników w WordPress

Jak przekierowywać użytkowników w WordPress


Przekierowania są standardową częścią stron internetowych, wtyczek i motywów. Niektóre dzieją się tuż przed oczami i możesz nawet nie wiedzieć, co dzieje się z tyłu.

Chociaż przekierowania są zwykle pozostawione programistom, pokażemy Ci kilka wskazówek, które pozwolą Ci:

  • Przekieruj użytkowników po pomyślnym zalogowaniu
  • Przekieruj użytkowników po zalogowaniu za pomocą wtyczki Peter’s Redirect
  • Przekieruj użytkowników po wylogowaniu
  • Przekieruj użytkowników po pozostawieniu komentarza
  • Przekieruj użytkowników po wyszukiwaniu, jeśli znaleziono tylko jeden wynik
  • Przekieruj użytkowników Gdy znaleziono tylko jeden post w kategorii
  • Przekieruj użytkowników do losowej strony w WordPress

Jak przekierować określone role użytkowników po udanym logowaniu

W tej części artykułu pokażemy Ci kod, który możesz łatwo modyfikować i kontrolować, gdzie pewien użytkownik ląduje po udanym logowaniu do Twojej witryny obsługiwanej przez WordPress.

Domyślnie WordPress zabierze każdego użytkownika do pulpitu nawigacyjnego, co może stanowić problem dla niektórych z was. Być może chcesz mieć swoich administratorów i autorów na zapleczu, kiedy chcesz prowadzić innych użytkowników bezpośrednio na stronę główną a może na inną stronę frontendową, którą specjalnie dla nich stworzyłeś.

Aby przekierować użytkowników na podstawie ich ról, wykonaj następujące kroki:

  1. Otwórz plik functions.php
  2. Skopiuj i wklej następujący kod:
  3. funkcja my_login_redirect ($ url, $ request, $ user) {
    jeśli ($ user && is_object ($ user) && is_a ($ user, 'WP_User')) {
    if ($ user-> has_cap („administrator”) lub $ user-> has_cap („autor”)) {
    $ url = admin_url ();
    } else {
    $ url = home_url ('/ custom-page /');
    }
    }
    zwróć $ url;
    }
    add_filter („login_redirect”, „my_login_redirect”, 10, 3);
  4. Zapisz zmiany

Powyższy kod spowoduje pozostawienie administratorów tam, gdzie powinni być – w panelu administracyjnym, podczas gdy wszyscy inni użytkownicy zostaną przeniesieni na niestandardową stronę.

Możesz łatwo zmieniać adresy URL, zmieniając zmienną $ url na 4th i 6th linia i dlatego poproś użytkowników o wszelkie posty / strony, które dla nich stworzyłeś.

Jeśli chcesz kontrolować role użytkowników, możesz to łatwo zrobić w trzecim wierszu kodu. W powyższym przykładzie pozostawiliśmy administratorów i autorów w panelu administracyjnym. Jeśli chcesz mieć tylko administratorów, po prostu usuń autorów ze zdjęcia:

if ($ user-> has_cap ('administrator')) {

Zamiast usuwać autorów, możesz także dodawać inne role; od Ciebie zależy, kto skończy na której stronie.

Otóż ​​to. Dzięki temu kodowi nie potrzebujesz żadnej wtyczki do kontrolowania przekierowań po zalogowaniu się użytkownika. Jeśli nadal nie chcesz zmieniać kodu, zobacz, jak przekierowywać użytkowników po zalogowaniu za pomocą wtyczki.

Przekieruj użytkowników po zalogowaniu za pomocą wtyczki Peter’s Redirect

Chociaż możesz szybko przekierowywać użytkowników po zalogowaniu, umieszczając kod, który pokazaliśmy wcześniej, nie jest to najlepsza opcja dla tych, którzy nie kodują. Ponadto, jeśli chcesz uzyskać większą kontrolę nad przekierowaniami, musisz wiedzieć, jak zmodyfikować kod.

Zamiast modyfikować kod, pokażemy ci wtyczkę, która zrobi za ciebie brudną robotę. Wszystko, co musisz zrobić, to zdecydować, dokąd pójdzie użytkownik, kliknąć kilka pól wyboru i wkleić adresy URL, a wtyczka zajmie się resztą.

Przekierowanie logowania Piotra

Chociaż istnieją niezliczone wtyczki WordPress przeznaczone do tego samego, wybraliśmy Przekierowanie logowania Piotra w tej części artykułu.

Ta wtyczka pozwala wybierać użytkowników na podstawie ich nazw, ról, a nawet możliwości użytkownika i po prostu wklej adres URL, na który użytkownicy będą przekierowywani po zalogowaniu. Możliwe jest nawet wybranie innej strony, jeśli chcesz przekierować tego użytkownika lub grupę użytkowników po wylogowaniu. Ponadto możesz wybrać osobny adres URL, który będzie używany jako strona docelowa dla każdego użytkownika po jego rejestracji.

Jeśli to nie wystarczy, a chcesz jeszcze bardziej poprawić swoje przekierowania, skorzystaj z przekierowania logowania Piotra. Jeśli na przykład utworzyłeś określoną stronę dla każdego użytkownika, możesz wygenerować adres URL bezpośrednio z wtyczki. W takim przypadku wystarczy prosty skrót opisany we wtyczce wprowadź nazwę użytkownika i tym samym poprowadź tego użytkownika do jego konkretnej strony.

Ostatecznie dostępnych jest kilka opcji wtyczek, które mogą pomóc w dalszym kontrolowaniu zachowania wtyczki. Możesz ustawić wtyczkę, aby używała tylko jednego rodzaju adresów URL i na przykład zezwalać na używanie tylko wewnętrznych linków, kontrolować przekierowania POST i GET, w razie potrzeby użyć zewnętrznego pliku przekierowania i wybrać, kto może kontrolować tę wtyczkę, wybierając poziomy uprawnień.

Jeśli potrzebujesz zarządzać przekierowaniami logowania, wylogowania i rejestracji, Przekierowanie logowania Piotra dostaniesz praktycznie wszystko, czego potrzebujesz. O tak, czy wspominaliśmy, że wtyczka jest darmowa? Możesz go pobrać z repozytorium wtyczek WordPress i zainstalować w kilka sekund, po czym wszystko, co musisz zrobić, to przejść do Ustawienia -> Przekierowania logowania / wylogowania.

Jak przekierować użytkownika WordPress po wylogowaniu

Domyślnie, gdy użytkownik wyloguje się ze strony WordPress, zostanie on przeniesiony z powrotem na stronę logowania. Zostanie wyświetlony komunikat informujący użytkownika o udanym wylogowaniu, a pozostała część nawigacji pozostanie użytkownikom.

Ale co, jeśli chcesz, aby Twoi użytkownicy byli automatycznie przekierowane na twoją stronę główną, strony dyskusji, które chcesz je zobaczyć lub na inne interesujące strony? Może chcesz utworzyć inną stronę wylogowania, która będzie zawierać specjalne widżety lub prowadzić użytkowników gdzie indziej? Jeśli tak, będziesz potrzebować tego małego kodu, aby wszystko się stało.

W kilku kolejnych wierszach pokażemy, jak łatwo przekierować użytkownika na dowolny URL. Jeśli nie chcesz używać kodu do przekierowań, pokażemy Ci prostą wtyczkę, która zrobi to wszystko za Ciebie. Ale wcześniej przekierujmy użytkownika na stronę główną:

  1. Otwórz plik functions.php
  2. Skopiuj i wklej następujący kod:
  3. działanie dodatkowe („wp_logout”, „auto_redirect_after_logout”);
    funkcja auto_redirect_after_logout () {
    wp_redirect (home_url ());
    wyjście();
    }
  4. Zapisz zmiany
  5. Wyloguj się i ciesz się swoją piękną stroną główną

To takie proste. Jak można się domyślić na podstawie kodu, możesz przekierować użytkownika na dowolny inny adres URL, zmieniając trzeci wiersz. Jeśli więc chcesz poprowadzić użytkowników do innej strony własnej witryny lub dowolnej strony zewnętrznej, kod powinien wyglądać mniej więcej tak:

działanie dodatkowe („wp_logout”, „auto_redirect_after_logout”);
funkcja auto_redirect_after_logout () {
wp_redirect („http://www.firstsiteguide.com”);
wyjście();
}

Jeśli chcesz zrobić więcej dzięki funkcji wp_redirect, możesz dowiedzieć się więcej na ten temat Strony Kodeksu WordPress.

Logowanie i wylogowanie Przekierowanie

CENA: za darmo

Przekierowania logowania i wylogowania
Ta darmowa wtyczka jest stosunkowo prosta i doskonale spełni swoje zadanie. Zamiast zajmować się kodem, przekierowanie logowania i wylogowania utworzy dodatkowy segment na stronie ustawień. Po zainstalowaniu i aktywacji musisz nawigować do Ustawienia -> Ogólne i przewiń do końca strony. Tutaj znajdziesz osobne pola wprowadzania dla przekierowań logowania i wylogowania. Wprowadź pożądane adresy URL, zapisz zmiany i gotowe!

Jeśli potrzebujesz więcej opcji przekierowania dla swojej witryny WordPress, zalecamy sprawdź wtyczkę przekierowania 5sec które mogą pomóc Ci przekierować dowolny post, stronę, kategorię, tag lub niestandardowy adres URL. Pozwoli ci to ukryć swoje adresy URL co może być świetną rzeczą do ukrywania linków partnerskich lub adresów URL przed użytkownikami. Wtyczka pokazuje również statystyki dotyczące każdego przekierowanego linku, dzięki czemu wiesz, co dzieje się na stronie.

Przekieruj użytkowników po pozostawieniu komentarza

Kiedy zaczniesz publikować artykuły, oczywiście będziesz chciał, aby ludzie je komentowali. W tej części przewodnika zamierzamy pokazać, jak przekierować użytkownika po przesłaniu komentarza.

Ta funkcja może się przydać w określonych sytuacjach. Na przykład możesz utworzyć niestandardową stronę z podziękowaniami za organizowane przez siebie prezenty. Tak więc, gdy odwiedzający biorą udział w rozdaniu, zostawiając komentarz, możesz łatwo przekierować ich na stronę „dziękuję”, na której możesz podać dodatkowe informacje o nagrodach.

W rzeczywistości istnieje mnóstwo różnych powodów przekierowania użytkownika po pozostawieniu komentarza, więc bez zbędnych ceregieli, oto, co musisz zrobić, aby zautomatyzować proces.

Przekieruj użytkownika po przesłaniu komentarza:

  1. Otwórz plik functions.php
  2. Skopiuj i wklej ten kod do pliku:
  3. funkcja redirect_after_comment () {
    wp_redirect ('/ thank-you /');
    wyjście();
    }
    add_filter ('comment_post_redirect', 'redirect_after_comment');
  4. Zmień nazwę strony na 2nd linia
  5. Zapisz zmiany

Otóż ​​to. Możesz teraz przejść do testowania funkcji. Otwórz dowolny ze swoich postów i zostaw komentarz. Jeśli wszystko zrobiłeś poprawnie, powinieneś skończyć na stronie http: /www.yoursite.com/thank-you lub tej podanej w drugim wierszu kodu.

Dziękuję stronie

Nie zapomnij podziękować innym za komentarze, ale też nie zapomnij, że chcesz, aby odwiedzający pozostali w witrynie i kontynuowali przeglądanie. Dobrym pomysłem może być dodanie listy swoich najnowszych lub najpopularniejszych postów, a może nawet lepsza lista wszystkich pokrewnych postów, które mogą być interesujące dla komentatora. Jeśli masz listę mailingową, jest to dobre miejsce do zaoferowania jej subskrypcji.

Chociaż ta funkcja oferuje łatwy i szybki sposób przekierowywania użytkowników po dodaniu komentarza, możesz być zainteresowany podłącz który da ci kilka dodatkowych funkcji.

Przekieruj użytkowników po wyszukiwaniu, jeśli znaleziono tylko jeden wynik

Funkcja wyszukiwania jest niezbędna, jeśli masz do czynienia z większą liczbą artykułów. Jeśli piszesz codziennie, wyobraź sobie liczbę artykułów rozproszonych w różnych kategoriach. Jeśli opublikujesz tylko trzy krótkie artykuły dziennie, w bazie danych będzie ponad tysiąc różnych tytułów po pierwszym roku. Teraz wyobraź sobie, że odwiedzasz witrynę po raz pierwszy, szukając czegoś konkretnego – będziesz chciał to wyszukać.

Domyślnie WordPress przeszukuje tytuły postów, tagi i oczywiście treść. Jeśli więc szukasz słowa lub określonej frazy, prawdopodobnie znajdziesz dziesiątki postów i stron zawierających zapytanie. Ale co jeśli byłby tylko jeden wynik wyszukiwania?

Jeśli ktoś szukał bardzo konkretnej frazy lub całego zdania, są szanse, że będzie tylko kilka, a może tylko jeden wynik. jaJeśli znaleziono tylko jeden wynik, przekierowanie użytkownika na stronę wyników wyszukiwania jest zupełnie niepotrzebne. Zamiast tego dlaczego nie zabrałbyś tego użytkownika bezpośrednio do posta / strony znalezionej w wyniku?

Zobaczmy, jak to zrobić:

  1. Otwórz funkcje. Php
  2. Skopiuj ten kod i wklej go na końcu pliku:
  3. działanie dodatkowe („szablon_redirect”, „redirect_search_result);
    funkcja redirect_search_result () {
    if (is_search ()) {
    globalny $ wp_query;
    if ($ wp_query-> post_count == 1 && $ wp_query-> max_num_pages == 1) {
    wp_redirect (get_permalink ($ wp_query-> posty ['0'] -> ID));
    wyjście;
    }
    }
    }
  4. Zapisz zmiany

Przygotowałeś WordPress do nowej funkcjonalności. Po zapisaniu zmian, za każdym razem, gdy użytkownik szuka czegoś, co zwróci tylko jeden wynik, zostanie przekierowany bezpośrednio do posta / strony.

Nawet jeśli wydaje się to niczym więcej, jesteśmy pewni, że Twoi goście polubią Cię za zaoszczędzenie kliknięcia przycisku. Zapisanie tutaj kliknięcia i kliknięcia spowoduje lepsze wrażenia użytkownika i prawdopodobnie jest to coś, czego chcesz na swojej stronie, prawda??

Przekieruj użytkowników, gdy w kategorii znajduje się tylko jeden post

Zamiast otwierać stronę kategorii lub tagu, która zawiera tylko jeden wynik, możesz przekierować tego użytkownika bezpośrednio do posta / strony. Podobnie jak w przypadku większości naszych fragmentów kodu, wystarczy skopiować i wkleić kod:

Przekieruj użytkownika, jeśli w kategorii lub tagie był tylko jeden post:

  1. Otwórz plik functions.php
  2. Skopiuj i wklej następujący kod:
  3. funkcja redirect_to_post () {
    globalny $ wp_query;
    if (is_archive () && $ wp_query-> post_count == 1) {
    Poczta();
    $ post_url = get_permalink ();
    wp_redirect ($ post_url);
    }
    } add_action („template_redirect”, „redirect_to_post”);
    
  4. Zapisz zmiany

Po zakończeniu korzystania z kodu i zapisaniu zmian możesz przetestować tę funkcję, otwierając stronę kategorii lub tagu, która zawiera tylko jeden post / stronę. Zamiast otwierać stronę, na której wyświetlany jest tylko jeden post / strona, nastąpi przekierowanie bezpośrednio do posta. Wspaniale, prawda??

Ponieważ niektórzy użytkownicy mogą się tym pogubić, dobrym pomysłem byłoby dołączenie niestandardowego komunikatu, który poinformuje użytkowników, że znaleziono tylko jeden wynik i że nastąpiło przekierowanie. Jeśli chcesz to zrobić, możesz zostawić wiadomość na górze posta / strony, do której przekierowano użytkownika, wstawiając proste polecenie „echo”. W takim przypadku kod wyglądałby następująco:

funkcja redirect_to_post () {
globalny $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
Poczta();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
echo "Ponieważ znaleziono tylko jeden wynik, zostałeś przekierowany do tego postu / strony!";
}
działanie dodatkowe („template_redirect”, „redirect_to_post”);

Teraz, gdy nawet wiadomość została zaimplementowana, skończysz i nie będziesz musiał zajmować się tymi kategoriami i tagami, które zawierają tylko jeden post / stronę. Nie pozwól jednak, aby ta funkcja była wymówką, aby nie pisać nowych artykułów w kategorii.

Przekieruj użytkowników do losowej strony w WordPress

To może nie być standardowa funkcja każdej witryny WordPress, ale z pewnością może być fajnym narzędziem, które można mieć gdzieś na swojej stronie. Jeśli dużo piszesz, a może masz wiele galerii, możesz mieć tysiące stron, których przeciętny użytkownik nie zobaczy. Dlaczego więc nie sprawiłbyś, że byłoby trochę ciekawiej z przekierowaniem użytkownika do losowego postu?

OK, nie przekierujesz użytkownika do losowego postu bez jego wiedzy, ani oczywiście nie zrobisz tego na stronie głównej. Możesz jednak utworzyć prosty przycisk lub link, który użytkownik może kliknąć, po czym zostanie przeniesiony na inną stronę Twojej witryny. Może to galeria. Może fajny artykuł redakcyjny, który napisałeś lata temu. Kto wie. Może być fajnie.

Zacznijmy:

  1. Najpierw musisz przygotować link przekierowujący. Otwórz plik functions.php
  2. Skopiuj i wklej następujący kod:
  3. add Działalności („init”, „random_add_rewrite”);
    funkcja random_add_rewrite () {
    globalny $ wp;
    $ wp-> add_query_var ('random');
    add_rewrite_rule ('random /? $', 'index.php? random = 1', 'top');
    }
    
    działanie dodatkowe („template_redirect”, „random_template”);
    
    funkcja random_template () {
    if (get_query_var ('random') == 1) {
    $ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1');
    foreach ($ posts as $ post) {
    $ link = get_permalink ($ post);
    }
    wp_redirect ($ link, 307);
    wyjście;
    }
    }
  4. Zapisz zmiany
  5. Wejdź na www.twojadomena.com/?random=1

Następnie możesz utworzyć link / przycisk. Wszystko, co musisz zrobić, to link do http://www.twojadomena.com/?random=1 i za każdym razem, gdy użytkownik otworzy stronę, zostanie przekierowany na losową stronę. Ciesz się nową funkcją.

Przekierowując Cię do wniosku

Wcześniej czy później będziesz chciał przekierować określonych użytkowników w określonych sytuacjach. Niezależnie od tego, czy jest to uzasadniony powód, a próbujesz zmusić odwiedzających do zakupu, czy po prostu chcesz usprawnić proces logowania, ten samouczek pomoże Ci zarządzać przekierowaniami.

Jeśli masz wystarczającą wygodę w kodowaniu, możesz to poprawić i przekierowywać użytkowników również w różnych sytuacjach. Jeśli nie, mamy nadzieję, że te przykłady wystarczą na pokrycie Twoich potrzeb.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map