Cum să redirecționați utilizatorii în WordPress
Publicat: 2018-08-08Redirecționările sunt o parte standard a site-urilor web, a pluginurilor și a temelor. Unele se întâmplă chiar în fața ochilor și este posibil să nu fiți nici măcar conștienți de ceea ce se întâmplă în spate.
Deși redirecționările sunt lăsate de obicei pentru dezvoltatori, vă vom arăta mai multe sfaturi care vă vor permite să efectuați această sarcină pe cont propriu.
Cum să redirecționați anumite roluri de utilizator după autentificarea cu succes
În această parte a articolului, vă vom arăta un cod pe care îl puteți modifica și controla cu ușurință în cazul în care aterizează un anumit utilizator după conectarea cu succes la site-ul dvs. web WordPress.
În mod implicit, WordPress va duce fiecare utilizator la tabloul de bord și ar putea fi o problemă pentru unii dintre voi. Poate doriți să vă păstrați administratorii și autorii pe backend în timp ce doriți să vă conduceți ceilalți utilizatori direct la pagina dvs. de pornire sau poate pe o altă pagină frontend pe care ați creat-o special pentru ei.
Pentru a redirecționa utilizatorii în funcție de rolurile lor, urmați pașii următori:
- Deschideți fișierul functions.php
- Copiați și lipiți următorul cod:
function my_login_redirect ($ url, $ request, $ user) {if ($ user && is_object ($ user) && is_a ($ user, 'WP_User')) { if ($ user-> has_cap ('administrator') sau $ user-> has_cap ('autor')) { $ url = admin_url (); } altceva { $ url = home_url ('/ custom-page /'); } } returnează $ url; } add_filter ('login_redirect', „my_login_redirect”, 10, 3);
- Salvează modificările
Codul de mai sus va lăsa administratorii chiar acolo unde trebuie să fie - panoul de administrare, în timp ce toți ceilalți utilizatori vor fi direcționați către o pagină personalizată.
Puteți schimba cu ușurință adresele URL modificând variabila $ url de pe a 4- a și a 6- a linie și, prin urmare, vă conduce utilizatorii către orice postări / pagini pe care le-ați creat pentru ei.
Dacă doriți să controlați rolurile utilizatorilor, puteți face acest lucru cu ușurință pe a treia linie a codului. În exemplul de mai sus, am lăsat administratori și autori în panoul de administrare. Dacă doriți doar administratori acolo, pur și simplu eliminați autorii din imagine:
if ($ user-> has_cap ('administrator')) {
În loc să eliminați autorii, puteți adăuga și alte roluri; depinde de dvs. să decideți cine va ajunge pe ce pagină.
Asta e. Cu acest cod, nu aveți nevoie de niciun plugin pentru a controla redirecționările după ce un utilizator se conectează. Dacă tot nu doriți să modificați codul, vedeți cum să redirecționați utilizatorii după conectare cu un plugin.
Redirecționați utilizatorii după conectare cu pluginul Peter's Login Redirect
Deși puteți redirecționa rapid utilizatorii după conectare plasând un cod pe care vi l-am arătat mai devreme, aceasta nu este cea mai bună opțiune pentru cei care nu sunt în codificare. De asemenea, dacă doriți să obțineți mai mult control asupra redirecționărilor, va trebui să știți cum să modificați codul.
În loc să modificăm codul, vă vom arăta un plugin care vă va face treaba . Tot ce trebuie să faceți este să decideți ce utilizator merge unde, să faceți clic pe câteva casete de selectare și să lipiți adresele URL în timp ce pluginul se va ocupa de restul.

Deși există nenumărate pluginuri WordPress concepute să facă același lucru, am ales Peter's Login Redirect pentru această parte a articolului.
Acest plugin vă va permite să alegeți utilizatorii în funcție de numele lor, de rolurile utilizatorilor și chiar de capacitățile utilizatorilor și pur și simplu lipiți adresa URL către care utilizatorii vor fi redirecționați după ce se conectează. Este posibil să alegeți chiar o altă pagină dacă doriți să redirecționați acel utilizator sau grup de utilizatori după ce se deconectează. În plus, puteți alege o adresă URL separată care va fi utilizată ca pagină de destinație pentru orice utilizator la înregistrare.
Dacă acest lucru nu este suficient pentru dvs. și doriți să vă îmbunătățiți redirecționările, Peter's Login Redirect vă oferă acoperire. Dacă ați creat, de exemplu, o pagină specifică pentru fiecare utilizator, puteți genera adresa URL direct din plugin. În acest caz, un scurtcod simplu descris în plugin va fi suficient pentru a introduce numele de utilizator al utilizatorului și, astfel, să conducă acel utilizator anume la pagina sa specifică.
În cele din urmă, există puține opțiuni de plugin care pot fi găsite care vă pot ajuta să controlați în continuare comportamentul pluginului. Puteți seta pluginul să utilizeze un singur tip de adrese URL și, de exemplu, să permită utilizarea linkurilor interne, să controlați redirecționările POST și GET, să utilizați un fișier de redirecționare extern dacă este necesar și să alegeți cine poate controla acest plugin alegând nivelurile de permisiune .
Dacă ați avut nevoie să gestionați redirecționările de conectare, deconectare și înregistrare, Peter's Login Redirect vă va oferi practic tot ce aveți nevoie. A, da, am menționat că pluginul este gratuit? Puteți să-l obțineți din depozitul de pluginuri WordPress și să-l instalați în câteva secunde, după care tot ce trebuie să faceți este să navigați la Setări -> Redirecții autentificare / deconectare .
Cum să redirecționați un utilizator WordPress după deconectare
În mod implicit, atunci când un utilizator se deconectează de pe un site web WordPress, acesta va fi readus la pagina de autentificare. Va fi afișat un mesaj care anunță un utilizator despre deconectarea cu succes, iar restul navigării este lăsat la îndemâna utilizatorilor.
Dar dacă doriți ca utilizatorii dvs. să fie redirecționați automat către pagina dvs. de pornire, paginile de discuții pe care doriți să le vadă sau alte pagini de interes? Poate doriți să creați o altă pagină de deconectare care să conțină widgeturi speciale sau să vă conducă utilizatorii în altă parte? Dacă da, veți avea nevoie de acest mic cod pentru ca totul să se întâmple.
În următoarele câteva rânduri, urmează să vă arătăm cum să redirecționați cu ușurință un utilizator către orice adresă URL doriți. Dacă nu doriți să utilizați codul pentru redirecționări, urmează să vă arătăm un plugin simplu care va face toate acestea pentru dvs. Dar înainte de asta, să redirecționăm un utilizator către pagina principală:
- Deschideți fișierul functions.php
- Copiați și lipiți următorul cod:
add_action ('wp_logout', 'auto_redirect_after_logout');
funcție auto_redirect_after_logout () {
wp_redirect (home_url ());
Ieșire();
}
- Salvează modificările
- Deconectați-vă și bucurați-vă de frumoasa dvs. pagină de pornire
Este atât de simplu. După cum puteți ghici din cod, puteți redirecționa un utilizator către orice altă adresă URL schimbând a treia linie . Deci, dacă doriți să vă conduceți utilizatorii către o altă pagină a propriului site sau către orice pagină externă, codul dvs. ar trebui să arate cam așa:
add_action ('wp_logout', 'auto_redirect_after_logout');
funcție auto_redirect_after_logout () {
wp_redirect („http://www.firstsiteguide.com”);
Ieșire();
}
Dacă doriți să faceți mai multe cu funcția wp_redirect, puteți afla mai multe despre aceasta pe paginile WordPress Codex.
Redirecționare autentificare și deconectare
PRET: Gratuit

Acest plugin gratuit este relativ simplu și își va face treaba perfect. În loc să se ocupe de cod, Redirecția Logare și Deconectare va crea un segment suplimentar pe pagina de setări. După ce îl instalați și îl activați, trebuie să navigați la Setări -> General și să derulați până la sfârșitul paginii . Aici veți găsi casete de intrare separate pentru redirecționări de conectare și deconectare. Introduceți adresele URL dorite, salvați modificările și ați terminat!
Dacă aveți nevoie de mai multe opțiuni de redirecționare pentru site-ul dvs. WordPress, vă sugerăm să verificați pluginul de redirecționare de 5 secunde care vă poate ajuta să redirecționați orice postare, pagină, categorie, etichetă sau adresă URL personalizată. Vă va permite să vă ascundeți adresele URL, ceea ce poate fi un lucru extraordinar pentru a ascunde linkurile afiliate sau orice adrese URL de la vizitatorii dvs. Pluginul vă arată, de asemenea, statistici despre fiecare link redirecționat, astfel încât să știți ce se întâmplă pe site.
Redirecționați utilizatorii după ce ați lăsat un comentariu
Când începeți să publicați articole, veți dori ca oamenii să le comenteze, desigur. În această parte a ghidului, urmează să vă arătăm cum să redirecționați un utilizator după ce ați trimis un comentariu.

Această funcție ar putea fi utilă în situații specifice. De exemplu, vă recomandăm să creați o pagină personalizată „mulțumesc” pentru un cadou pe care îl organizați . Deci, atunci când vizitatorii participă la un cadou publicitar lăsând un comentariu, îi puteți redirecționa cu ușurință către acea pagină „mulțumesc” unde puteți furniza informații suplimentare despre premii.
Există, de fapt, o mulțime de motive diferite pentru a redirecționa un utilizator după ce ați lăsat un comentariu, deci fără alte întrebări, iată ce trebuie să faceți pentru a automatiza procesul.
Redirecționați utilizatorul după trimiterea unui comentariu:
- Deschideți fișierul functions.php
- Copiați și lipiți acest cod în fișier:
funcție redirect_after_comment () { wp_redirect ('/ mulțumesc /'); Ieșire(); } add_filter ('comment_post_redirect', 'redirect_after_comment');
- Schimbați numele paginii pe a doua linie
- Salvează modificările
Asta e. Acum puteți continua și testa funcția. Deschide oricare dintre postările tale și lasă un comentariu. Dacă ați făcut totul corect, ar trebui să ajungeți pe pagina http: /www.yoursite.com/thank-you sau pe cea specificată pe a doua linie a codului.

Nu uitați să mulțumiți oamenilor pentru comentarii, dar, de asemenea, nu uitați că doriți ca vizitatorii dvs. să rămână pe site și să continue navigarea. O idee bună ar putea fi să adăugați o listă a postărilor dvs. recente sau cele mai populare sau poate chiar mai bine să enumerați toate postările conexe care ar putea fi de interes pentru un comentator. Dacă aveți o listă de corespondență, acesta este un loc bun pentru a vă oferi un abonament.
Deși această funcție oferă o modalitate ușoară și rapidă de redirecționare a utilizatorilor după ce lasă un comentariu, este posibil să fiți interesat de un plugin care vă va oferi câteva caracteristici suplimentare.
Redirecționați utilizatorii după căutare dacă a fost găsit un singur rezultat
Funcționalitatea de căutare este obligatorie dacă aveți de-a face cu un număr mai mare de articole. Dacă scrieți zilnic, imaginați-vă numărul de articole împrăștiate în diferite categorii. Dacă publicați doar trei articole scurte pe zi, vor exista peste o mie de titluri diferite în baza de date după primul an. Acum imaginați-vă că veniți pe site pentru prima dată în timp ce căutați ceva anume - veți dori să îl căutați.
În mod implicit, WordPress va căuta prin titlurile postărilor, etichete și, bineînțeles, conținutul. Deci, dacă căutați un cuvânt sau o anumită frază, probabil că va găsi zeci de postări și pagini care conțin interogarea. Dar dacă ar exista un singur rezultat al căutării?
Dacă cineva căuta o frază foarte specifică sau o propoziție întreagă, este posibil să existe doar câteva sau poate un singur rezultat. Dacă a fost găsit un singur rezultat, redirecționarea unui utilizator către pagina cu rezultatele căutării este destul de inutilă . În schimb, de ce nu l-ați duce pe acel utilizator direct la postarea / pagina găsită în rezultat?
Să vedem cum să facem asta:
- Funcții deschise.php
- Copiați acest cod și lipiți-l la sfârșitul fișierului:
add_action ('template_redirect', 'redirect_search_result); funcție redirect_search_result () { if (is_search ()) { global $ wp_query; if ($ wp_query-> post_count == 1 && $ wp_query-> max_num_pages == 1) { wp_redirect (get_permalink ( $ wp_query-> posts ['0'] -> ID)); Ieșire; } } }
- Salvează modificările
V-ați pregătit WordPress pentru noua funcționalitate. După ce ați salvat modificările, de fiecare dată când un utilizator caută ceva care va întoarce doar un singur rezultat, acel utilizator va fi redirecționat direct la postare / pagină.
Chiar dacă nu pare nimic prea mare, suntem siguri că vizitatorilor dvs. le va plăcea să le salvați un clic de buton. Salvarea unui clic aici și a unui clic acolo va avea ca rezultat o experiență de utilizare mai bună și probabil este ceva ce doriți pe site-ul dvs., nu-i așa?
Redirecționați utilizatorii atunci când există o singură postare dintr-o categorie găsită
În loc să deschideți o categorie sau o pagină de etichetă care conține un singur rezultat, puteți redirecționa acel utilizator direct la postare / pagină. Ca și în cazul majorității fragmentelor de cod, va fi suficient doar să copiați și să inserați codul:
Redirecționați un utilizator dacă a existat o singură postare într-o categorie sau o etichetă:
- Deschideți fișierul functions.php
- Copiați și lipiți următorul cod:
funcție redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
bara();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
} add_action ('template_redirect', 'redirect_to_post');
- Salvează modificările
După ce ați terminat codul și ați salvat modificările, puteți testa caracteristica deschizând o categorie sau o pagină de etichetă care conține o singură postare / pagină în ea. În loc să deschideți o pagină în care este afișată doar acea postare / pagină, veți fi redirecționat direct la postare . Minunat, nu-i așa?
Deoarece unii utilizatori s-ar putea confunda cu acest lucru, ar fi o idee plăcută să includeți un mesaj personalizat care să le spună utilizatorilor că a fost găsit un singur rezultat și că a avut loc redirecționarea. Dacă doriți să faceți acest lucru, puteți lăsa mesajul deasupra postării / paginii către care a fost redirecționat un utilizator prin inserarea unei declarații simple „ecou”. În acest caz, codul dvs. ar arăta astfel:
funcție redirect_to_post () { global $ wp_query; if (is_archive () && $ wp_query-> post_count == 1) { bara(); $ post_url = get_permalink (); wp_redirect ($ post_url); } ecou "Deoarece a fost găsit un singur rezultat, ați fost redirecționat către această postare / pagină! "; } add_action ('template_redirect', 'redirect_to_post');
Acum, chiar dacă un mesaj a fost implementat, ați terminat și nu va trebui să vă ocupați de acele categorii și etichete care conțin o singură postare / pagină. Dar nu lăsați această caracteristică să fie o scuză pentru a nu scrie articole noi din categorie.
Redirecționați utilizatorii către o pagină aleatorie în WordPress
Este posibil să nu fie o caracteristică standard a fiecărui site web WordPress, dar sigur poate fi un instrument distractiv de a avea undeva pe site-ul dvs. Dacă scrieți multe sau poate aveți numeroase galerii, puteți ajunge să aveți mii de pagini pe care un utilizator mediu nu le va putea vedea . Deci, de ce nu ai face lucrurile puțin mai interesante prin redirecționarea unui utilizator către o postare aleatorie?
OK, nu veți redirecționa un utilizator către o postare aleatorie fără știrea acestuia sau faceți asta pe pagina de pornire, desigur. Dar puteți crea un simplu buton sau link pe care un utilizator poate face clic, după care va fi dus la o altă pagină a site-ului dvs. Poate este o galerie. Poate un editorial mișto pe care l-ai scris cu ani în urmă. Cine știe. Poate fi distractiv.
Să începem:
- Mai întâi trebuie să vă pregătiți linkul de redirecționare. Deschideți fișierul functions.php
- Copiați și lipiți următorul cod:
add_action ('init', 'random_add_rewrite');
funcție random_add_rewrite () {
global $ wp;
$ wp-> add_query_var ('aleatoriu');
add_rewrite_rule ('random /?
- Salvează modificările
- Accesați www.yourdomain.com/?random=1
, 'index.php? random = 1', 'top'); } add_action ('template_redirect', 'random_template'); funcția random_template () {if (get_query_var ('random') == 1) {$ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1'); foreach ($ postări ca $ postare) {$ link = get_permalink ($ postare); } wp_redirect ($ link, 307); Ieșire; }}
După aceasta, sunteți gata să vă creați linkul / butonul. Tot ce trebuie să faceți este să vă conectați la http://www.yourdomain.com/?random=1 și de fiecare dată când un utilizator deschide pagina, acesta va fi redirecționat către o pagină aleatorie. Bucurați-vă de noua dvs. caracteristică.
Redirecționându-vă către concluzie
Mai devreme sau mai târziu, veți dori să redirecționați anumiți utilizatori în anumite situații. Indiferent dacă există un motiv bun pentru asta și încercați să vă faceți vizitatorii să cumpere ceva sau pur și simplu ați dorit să faceți procesul de conectare mai confortabil, acest tutorial vă va ajuta să gestionați redirecționările.
Dacă sunteți suficient de confortabil cu codificarea, veți putea îmbunătăți acest lucru și puteți redirecționa utilizatorii și în diferite situații. Dacă nu, sperăm că aceste exemple au fost suficiente pentru a vă acoperi nevoile.