Cum să redirecționați utilizatorii în WordPress

Cum să redirecționați utilizatorii în WordPress


Redirecțiile 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țiile sunt de obicei lăsate pentru dezvoltatori, vom prezenta mai multe sfaturi care vă vor permite:

  • Redirecționați utilizatorii după autentificarea cu succes
  • Redirecționați utilizatorii după conectarea cu plugin-ul Redirectare de autentificare a lui Peter
  • Redirecționați utilizatorii după deconectare
  • Redirecționați utilizatorii după ce lăsați un comentariu
  • Redirecționați utilizatorii după căutare dacă a fost găsit un singur rezultat
  • Redirecționați utilizatorii Când s-a găsit o singură postare într-o categorie
  • Redirecționați utilizatorii către o pagină aleatorie din WordPress

Cum să redirecționezi 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 ușor și controlul unde un anumit utilizator aterizează după autentificarea cu succes pe site-ul dvs. web WordPress.

În mod implicit, WordPress va duce fiecare utilizator pe tabloul de bord și aceasta ar putea fi o problemă pentru unii dintre voi. Poate doriți să vă păstrați administratorii și autorii în backend în timp ce doriți conduceți-i pe ceilalți utilizatori direct la pagina dvs. de pornire sau poate pe o altă pagină pe care o creați special pentru ei.

Pentru a redirecționa utilizatorii în funcție de rolurile lor, urmați pașii următori:

  1. Deschideți fișierul funcții.php
  2. Copiați și lipiți următorul cod:
  3. 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 ();
    } altfel {
    $ url = home_url ('/ pagina personalizată /');
    }
    }
    returna $ url;
    }
    add_filter ('login_redirect', 'my_login_redirect', 10, 3);
  4. Salvează modificările

Codul arătat mai sus va lăsa administratorii acolo unde trebuie să fie – panoul de admin, în timp ce toți ceilalți utilizatori vor fi duși la o pagină personalizată.

Puteți modifica ușor adresele URL modificând variabila $ url pe 4lea iar 6lea linia și, prin urmare, conduceți-vă utilizatorii către orice postări / pagini pe care le-ați creat pentru ei.

Dacă doriți să controlați rolurile utilizatorului, puteți face asta cu ușurință pe a treia linie a codului. În exemplul menționat mai sus, am lăsat admin-uri și autori pe panoul de admin. Dacă doriți doar administratori acolo, eliminați pur și simplu autorii din imagine:

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

În loc să eliminați autori, puteți adăuga și alte roluri; Depinde de tine să decizi cine va ajunge pe pagina respectivă.

Asta e. Cu acest cod, nu aveți nevoie de niciun plugin pentru a controla redirecționările după ce un utilizator s-a conectat. Dacă încă nu schimbați codul, vedeți cum să redirecționați utilizatorii după conectarea cu un plugin.

Redirecționați utilizatorii după conectarea cu plugin-ul Redirectare de autentificare a lui Peter

Deși puteți redirecționa rapid utilizatorii după autentificare, 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 utilizează codificarea. De asemenea, dacă doriți să obțineți mai mult control asupra redirecțiilor, va trebui să știți cum să modificați codul.

În loc să modifice codul, vă vom arăta un plugin care va face munca murdară pentru dvs.. Tot ce trebuie să faceți este să decideți ce utilizator merge, faceți clic pe câteva casete de selectare și lipiți adrese URL în timp ce pluginul va avea grijă de restul.

Redirecționare autentificare Peter

Deși există nenumărate plugin-uri WordPress concepute pentru a face același lucru, am ales Redirecția de autentificare a lui Peter pentru această parte a articolului.

Acest plugin vă va permite să alegeți utilizatorii în funcție de numele lor, rolurile utilizatorului și chiar funcțiile utilizatorilor și pur și simplu lipiți URL către care vor fi redirecționați utilizatorii după ce se conectează. Este posibil să alegeți chiar și 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 înregistrarea sa.

Dacă acest lucru nu este suficient pentru dvs. și doriți să vă îmbunătățiți în continuare redirecțiile, Redirecția de conectare a lui Peter v-a primit. Dacă, de exemplu, ați creat o pagină specifică pentru fiecare utilizator, puteți genera URL direct din plugin. În acest caz, va fi suficient un simplu shortcode descris în plugin introduceți numele de utilizator al utilizatorului și duceți-l astfel pe acel anumit utilizator către pagina sa specifică.

În final, există câteva 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ă folosească un singur tip de adresă URL și, de exemplu, să permiteți utilizarea doar a legăturilor interne, să controlați redirecțiunile 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ă aveți nevoie pentru a gestiona redirecții de conectare, deconectare și înregistrare, Redirecția de conectare a lui Peter vă va obține practic tot ce aveți nevoie. Oh, 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 -> Accesare / Deconectare Redirecții.

Cum să redirecționați un utilizator WordPress după deconectare

În mod implicit, atunci când un utilizator se deconectează de pe un site WordPress, acesta va fi readus la pagina de conectare. Va fi afișat un mesaj care notifică un utilizator despre deconectarea cu succes și restul de navigare este lăsat la dispoziția utilizatorilor.

Dar dacă doriți să fie utilizatorii dvs. redirecționat automat către pagina dvs. de pornire, paginile de discuții pe care doriți să le vadă sau orice alte pagini de interes? Poate doriți să creați o altă pagină de deconectare care să conțină widget-uri speciale sau să-i conducă pe utilizatorii din altă parte? Dacă da, veți avea nevoie de acest mic cod pentru ca totul să se întâmple.

În următoarele rânduri, urmează să vă arătăm cum să redirecționați cu ușurință un utilizator către orice adresă URL dorită. Dacă nu doriți să utilizați codul pentru redirecționări, urmează să vă arătăm un plugin simplu care va face tot ceea ce vă place. Dar înainte de asta, să redirecționăm un utilizator către pagina principală:

  1. Deschideți fișierul funcții.php
  2. Copiați și lipiți următorul cod:
  3. ADD_ACTION ( 'wp_logout', 'auto_redirect_after_logout');
    function auto_redirect_after_logout () {
    wp_redirect (home_url ());
    Ieșire();
    }
  4. Salvează modificările
  5. Deconectați-vă și bucurați-vă de pagina dvs. frumoasă

Este simplu ca asta. 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 altă pagină externă, codul dvs. ar trebui să arate așa:

ADD_ACTION ( 'wp_logout', 'auto_redirect_after_logout');
function 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 asta Pagini Codex WordPress.

Redirecționare conectare și deconectare

PRET: Gratuit

Redirecții de conectare și deconectare
Acest plugin gratuit este relativ simplu și își va face treaba perfect. În loc să se ocupe de cod, Login și Logout Redirect vor crea un segment suplimentar pe pagina de setări. După instalare și activare, trebuie să navigheaza catre Setări -> General și defilați până la sfârșitul paginii. Aici veți găsi căsuțe de intrare separate pentru redirecționări Login ș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ă vă verificați pluginul de redirecționare 5sec care vă poate ajuta să redirecționați orice postare, pagină, categorie, etichetă sau adresă URL personalizată. Îți va permite mențineți-vă adresele URL ceea ce poate fi un lucru minunat pentru ascunderea legăturilor de afiliere sau a adreselor URL de la vizitatorii dvs. Pluginul vă arată, de asemenea, statistici despre fiecare legătură redirecționată, astfel încât să știți ce se întâmplă pe site.

Redirecționați utilizatorii după ce au 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ă trimiterea unui comentariu.

Această funcție ar putea fi utilă pentru dvs. în situații specifice. De exemplu, poate doriți să creați o pagină personalizată de „mulțumire” pentru un cadou pe care îl organizați. Astfel, atunci când vizitatorii participă la un cadou lăsând un comentariu, le puteți redirecționa cu ușurință către pagina „de mulțumire”, unde puteți oferi informații suplimentare despre premii.

De fapt, există numeroase motive pentru care puteți avea redirecționarea unui utilizator după ce lăsați un comentariu, așa că, fără alte detalii, iată ce trebuie să faceți pentru a automatiza procesul.

Redirecționați utilizatorul după ce a trimis un comentariu:

  1. Deschideți fișierul funcții.php
  2. Copiați și lipiți acest cod în fișier:
  3. function redirect_after_comment () {
    wp_redirect ( '/ mulțumesc-te /');
    Ieșire();
    }
    add_filter ('comment_post_redirect', 'redirect_after_comment');
  4. Schimbați numele paginii pe 2nd linia
  5. Salvează modificările

Asta e. Acum puteți continua și testa funcția. Deschide oricare dintre mesajele 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 dvs..

Multumesc pagina

Nu uitați să mulțumiți oamenilor că au comentat, dar 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 adăugarea unei liste cu postările recente sau cele mai populare, sau poate chiar mai bine să enumereți toate postările conexe care ar putea interesa un comentator.. Dacă aveți o listă de e-mail, acesta este un loc bun pentru a oferi un abonament la aceasta.

În timp ce această funcție oferă un mod ușor și rapid de redirecționare a utilizatorilor după ce lasă un comentariu, puteți fi interesat de un conecteaza ceea ce 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 indispensabilă dacă aveți de-a face cu un număr mai mare de articole. Dacă scrii zilnic, imaginează-ți numărul de articole împrăștiate în diferite categorii. Dacă publicați doar trei articole scurte pe zi, în baza dvs. de date vor exista peste o mie de titluri diferite după primul an. Acum imaginați-vă că veniți pe site pentru prima dată în timp ce căutați ceva specific – veți dori să îl căutați.

În mod implicit, WordPress va căuta prin postarea titlurilor, a etichetelor și, desigur, a conținutului. Deci, dacă căutați un cuvânt sau o expresie specifică, probabil vor 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 a căutat o frază foarte specifică sau o întreagă propoziție, este posibil să existe doar câteva sau poate doar un rezultat. euf este 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-ai duce pe acel utilizator direct la postarea / pagina găsită în rezultat?

Să vedem cum se face asta:

  1. Funcții deschise.php
  2. Copiați acest cod și lipiți-l la sfârșitul fișierului:
  3. add_action ('template_redirect', 'redirect_search_result);
    function 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-> postări ['0'] -> ID));
    Ieșire;
    }
    }
    }
  4. Salvează modificările

Ți-ai pregătit WordPress-ul 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 rezultat, acel utilizator va fi redirecționat direct către postare / pagină.

Chiar dacă se pare că nu se întâmplă nimic, suntem siguri că vizitatorii dvs. le vor plăcea pentru că le-au salvat un clic al unui buton. Dacă salvați un clic aici și un clic, va rezulta într-o experiență de utilizator mai bună și este probabil ceea ce doriți pe site-ul dvs. web, nu-i așa??

Redirecționați utilizatorii 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 utilizatorul direct către postare / pagină. Ca și în cazul majorității fragmentelor noastre de cod, va fi suficient să copiați și să lipiți codul:

Redirecționați un utilizator dacă există o singură postare într-o categorie sau o etichetă:

  1. Deschideți fișierul funcții.php
  2. Copiați și lipiți următorul cod:
  3. function 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');
    
  4. Salvează modificările

După ce ați terminat codul și ați salvat modificările, puteți testa funcția 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ă unde este afișată doar o singură postare / pagină, veți fi redirecționat direct către mesaj. Grozav, nu-i așa?

Întrucât unii utilizatori s-ar putea confunda cu acest lucru, ar fi o idee bună să includem un mesaj personalizat care să le spună utilizatorilor că a fost găsit un singur rezultat și că redirecționarea a avut loc. Dacă doriți să faceți acest lucru, puteți lăsa mesajul în partea de sus a postării / paginii la care a fost redirecționat un utilizator prin introducerea unei simple declarații „ecou”. În acest caz, codul dvs. ar arăta astfel:

function 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ă a fost implementat un mesaj, ați terminat și nu va trebui să aveți grijă 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 din WordPress

Aceasta poate să nu fie o caracteristică standard a fiecărui site web WordPress, dar sigur poate fi un instrument distractiv pentru a avea undeva pe site-ul dvs.. Dacă scrii multe sau poate ai multe galerii, poți ajunge să ai mii de pagini pe care un utilizator mediu nu le va vedea. Așadar, de ce nu ai face lucrurile un pic mai interesante prin redirecționarea unui utilizator către o postare aleatorie?

OK, nu veți redirecționa un utilizator către o postare la întâmplare fără să știe acest lucru sau faceți asta desigur pe pagina principală. Dar puteți crea un simplu buton sau link pe care un utilizator poate face clic după care va fi dus pe o altă pagină a site-ului dvs. Poate este o galerie. Poate un editorial minunat pe care l-ai scris acum ani în urmă. Cine știe. Poate fi distractiv.

Să începem:

  1. Mai întâi trebuie să vă pregătiți link-ul de redirecționare. Deschideți fișierul funcții.php
  2. Copiați și lipiți următorul cod:
  3. ADD_ACTION ( 'init', 'random_add_rewrite');
    function random_add_rewrite () {
    WP $ global;
    $ Wp-> add_query_var ( 'aleatoriu');
    add_rewrite_rule ('random /? $', 'index.php? random = 1', 'top');
    }
    
    ADD_ACTION ( 'template_redirect', 'random_template');
    
    function random_template () {
    if (get_query_var ('random') == 1) {
    $ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1');
    foreach ($ postări ca $ post) {
    $ link = get_permalink ($ post);
    }
    wp_redirect ($ link-ul, 307);
    Ieșire;
    }
    }
  4. Salvează modificările
  5. Accesați www.yourdomain.com/?random=1

După aceasta, sunteți gata să creați link-ul / butonul dvs. Tot ce trebuie să faceți este să faceți legătura cu http://www.yourdomain.com/?random=1 și de fiecare dată când un utilizator deschide pagina, va fi redirecționat către o pagină aleatorie. Bucurați-vă de noua dvs. caracteristică.

Te redirecționează către concluzie

Mai devreme sau mai târziu, veți dori să redirecționați utilizatori specifici în situații specifice. Indiferent dacă există un motiv bun pentru asta și încercați să vă faceți vizitatorii să cumpere ceva sau doriți doar 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 să vă îmbunătățiți și să redirecționați utilizatorii și în diferite situații. Dacă nu, sperăm că aceste exemple au fost suficiente pentru a vă acoperi nevoile.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Liked Liked