Sådan omdirigeres brugere i WordPress

Sådan omdirigeres brugere i WordPress


Omdirigeringer er en standarddel af websteder, plugins og temaer. Nogle sker lige foran øjnene, og du er måske ikke engang klar over, hvad der foregår bagpå.

Selvom omdirigeringer normalt er tilbage til udviklere, viser vi dig flere tip, der lader dig:

  • Omdiriger brugere efter vellykket login
  • Omdiriger brugere efter login med Peters login-omdirigering-plugin
  • Omdiriger brugere efter Logout
  • Omdiriger brugere efter at have forladt en kommentar
  • Omdiriger brugere efter søgning, hvis der kun blev fundet et resultat
  • Omdirigere brugere Når der kun findes et indlæg i en kategori
  • Omdiriger brugere til en tilfældig side i WordPress

Sådan omdirigeres specifikke brugerroller efter vellykket login

I denne del af artiklen viser vi dig en kode, som du nemt kan ændre og styr hvor en bestemt bruger lander efter vellykket login til dit WordPress-drevne websted.

Som standard vil WordPress føre alle brugere til instrumentbrættet, og det kan være et problem for nogle af jer. Måske vil du holde dine admins og forfattere på backend, mens du vil før dine andre brugere direkte til din startside eller måske på en anden frontend-side, du har oprettet specifikt til dem.

Følg de næste trin for at omdirigere brugere baseret på deres roller:

  1. Åbn filen features.php
  2. Kopier og indsæt følgende kode:
  3. funktion my_login_redirect ($ url, $ anmodning, $ bruger) {
    if ($ bruger && er_objekt ($ bruger) && er_a ($ bruger, 'WP_User')) {
    if ($ user-> has_cap ('administrator') eller $ user-> has_cap ('forfatter')) {
    $ url = admin_url ();
    } andet {
    $ url = home_url ('/ brugerdefineret side /');
    }
    }
    returner $ url;
    }
    add_filter ('login_redirect', 'my_login_redirect', 10, 3);
  4. Gem ændringer

Koden vist ovenfor vil forlade administratorerne lige hvor de har brug for – admin panelet, mens alle andre brugere vil blive ført til en brugerdefineret side.

Du kan nemt ændre webadresser ved at ændre variablen $ url på 4th og 6th linje og før derfor dine brugere til alle indlæg / sider, du har oprettet til dem.

Hvis du vil kontrollere brugerroller, kan du gøre det let på den tredje linje i koden. I det ovenfor givne eksempel har vi efterladt administratorer og forfattere på admin-panelet. Hvis du kun vil have administratorer der, skal du blot fjerne forfatterne fra billedet:

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

I stedet for at fjerne forfattere, kan du også tilføje andre roller; det er op til dig at beslutte, hvem der ender på hvilken side.

Det er det. Med denne kode behøver du ikke noget plugin til at kontrollere omdirigeringerne, når en bruger er logget ind. Hvis du stadig ikke skifter kode, skal du se, hvordan du omdirigerer brugere efter login med et plugin.

Omdiriger brugere efter login med Peters login-omdirigering-plugin

Selvom du hurtigt kan omdirigere brugere efter login ved at placere en kode, som vi viste dig tidligere, er dette ikke den bedste mulighed for dem, der ikke bruger kodning. Hvis du også ønsker at få mere kontrol over omdirigeringer, bliver du nødt til at vide, hvordan du ændrer koden.

I stedet for at ændre koden, Vi viser dig et plugin, der gør det beskidte arbejde for dig. Alt hvad du skal gøre er at beslutte, hvilken bruger der skal hen, klikke på få afkrydsningsfelter og indsætte webadresser, mens plugin sørger for resten.

Peters login-omdirigering

Selvom der er utallige WordPress-plugins designet til at gøre det samme, har vi valgt Peters login-omdirigering til denne del af artiklen.

Dette plugin giver dig mulighed for at vælge brugere baseret på deres navn, brugerroller og endda brugerfunktioner og blot indsætte en URL, som brugerne vil blive omdirigeret efter, de er logget ind. Det er muligt at endda vælge en anden side, hvis du vil omdirigere den bruger eller den gruppe af brugere, når de logger ud. Derudover kan du vælge en separat URL, der vil blive brugt som destinationsside for enhver bruger ved deres registrering.

Hvis det ikke er nok for dig, og du vil forbedre dine omdirigeringer yderligere, får Peters login-omdirigering dig dækket. Hvis du for eksempel har oprettet en bestemt side for hver bruger, kan du generere URL direkte fra plugin. I dette tilfælde er en simpel kortkode beskrevet i plugin nok til indtast brugerens brugernavn og fører dermed den pågældende bruger til hans / hendes specifikke side.

I sidste ende er der få plugin-indstillinger, der kan hjælpe dig med yderligere at kontrollere pluginets opførsel. Du kan indstille, at plugin kun bruger en type URL-adresser og for eksempel tillader kun interne links at blive brugt, styre POST- og GET-omdirigeringer, bruge en ekstern omdirigeringsfil om nødvendigt og vælge, hvem der kan kontrollere dette plugin ved at vælge tilladelsesniveauer.

Hvis du har brug for at administrere login, logout og registrering omdirigeringer, Peters login-omdirigering vil få dig praktisk talt alt hvad du har brug for. Åh, ja, har vi nævnt, at plugin er gratis? Du kan hente det fra WordPress-plugin-depot og installere på få sekunder, hvorefter alt hvad du skal gøre er at navigere til Indstillinger -> Login / logout-omdirigeringer.

Sådan omdirigeres en WordPress-bruger efter logout

Når en bruger logger ud fra et WordPress-websted, føres han som standard tilbage til login-siden. Der vises en meddelelse, der informerer en bruger om vellykket logout, og resten af ​​navigationen overlades til brugerne.

Men hvad nu hvis du vil have dine brugere til at være omdirigeres automatisk til din startside, diskussionssider, som du vil have dem til at se eller andre sider af interesse? Måske vil du oprette en anden logout-side, der vil indeholde specielle widgets eller føre dine brugere et andet sted? I så fald har du brug for denne lille kode for at få alt til at ske.

I de næste par linjer skal vi vise dig, hvordan du nemt kan omdirigere en bruger til en hvilken som helst URL, du ønsker. Hvis du ikke ønsker at bruge koden til omdirigeringer, er vi ved at vise dig et simpelt plugin, der vil gøre alt det for dig. Men før det, lad os omdirigere en bruger til startsiden:

  1. Åbn filen features.php
  2. Kopier og indsæt følgende kode:
  3. ADD_ACTION ( 'wp_logout', 'auto_redirect_after_logout');
    funktion auto_redirect_after_logout () {
    wp_redirect (home_url ());
    Afslut();
    }
  4. Gem ændringer
  5. Log ud og nyd din smukke hjemmeside

Det er simpelt som det. Som du kan gætte fra koden, kan du omdirigere en bruger til en hvilken som helst anden URL ved at ændre den tredje linje. Så hvis du vil føre dine brugere til en anden side på dit eget sted eller til en ekstern side, skal din kode se sådan ud:

ADD_ACTION ( 'wp_logout', 'auto_redirect_after_logout');
funktion auto_redirect_after_logout () {
wp_redirect ('http://www.firstsiteguide.com');
Afslut();
}

Hvis du vil gøre mere med wp_redirect-funktionen, kan du lære mere om den på WordPress Codex sider.

Login og Logout omdirigering

PRIS: Gratis

Login og logout-omdirigeringer
Dette gratis plugin er relativt enkelt og vil gøre sit job perfekt. I stedet for at håndtere koden opretter Login og Logout Redirect et yderligere segment på indstillingssiden. Når du har installeret og aktiveret det, skal du navigere til Indstillinger -> Generelt og rulle helt til slutningen af ​​siden. Her finder du separate inputbokse til login- og logout-omdirigeringer. Indtast ønskede webadresser, gem ændringer, og du er færdig!

Hvis du har brug for flere omdirigeringsindstillinger til dit WordPress-websted, foreslår vi, at du gør det check 5sec omdirigering plugin som kan hjælpe dig med at omdirigere ethvert indlæg, side, kategori, tag eller tilpasset URL. Det giver dig mulighed for det kappe dine webadresser hvilket kan være en god ting at skjule tilknyttede links eller webadresser fra dine besøgende. Plugin viser dig også statistikker om hvert omdirigeret link, så du ved, hvad der sker på webstedet.

Omdiriger brugere, når de har forladt en kommentar

Når du begynder at udgive artikler, vil du naturligvis have, at folk skal kommentere dem. I denne del af guiden skal vi vise dig, hvordan du omdirigerer en bruger, når han har indsendt en kommentar.

Denne funktion kan være praktisk til dig i specifikke situationer. For eksempel vil du måske oprette en brugerdefineret “tak” -side til en gave, som du organiserer. Så når besøgende deltager i en gave ved at give en kommentar, kan du nemt omdirigere dem til den “tak” -side, hvor du kan give yderligere oplysninger om præmier.

Der er faktisk mange forskellige årsager, som du måske har for at omdirigere en bruger, når du har forladt en kommentar, så her er hvad du skal gøre for at automatisere processen.

Omdiriger bruger efter indsendelse af en kommentar:

  1. Åbn filen features.php
  2. Kopier og indsæt denne kode i filen:
  3. funktion omdirigering_after_comment () {
    wp_redirect ( '/ tak /');
    Afslut();
    }
    add_filter ('comment_post_redirect', 'redirect_after_comment');
  4. Skift navnet på siden på 2nd linje
  5. Gem ændringer

Det er det. Du kan nu fortsætte og teste funktionen. Åbn et af dine indlæg, og skriv en kommentar. Hvis du har gjort alt korrekt, skal du ende på http: /www.yoursite.com/thank-you side eller den der er angivet på den anden linje i din kode.

Tak side

Glem ikke at takke folk for deres kommentarer, men glem heller ikke, at du vil have dine besøgende til at forblive på webstedet og fortsætte med at gennemse. En god ide kan være at tilføje en liste over dine seneste eller mest populære indlæg, eller måske endda bedre at liste alle relaterede indlæg, som kan være af interesse for en kommentar. Hvis du har en mailingliste, er dette et godt sted at tilbyde et abonnement på den.

Selvom denne funktion tilbyder let og hurtig måde at omdirigere brugere, efter at de har efterladt en kommentar, er du muligvis interesseret i en plugin som giver dig nogle ekstra funktioner.

Omdiriger brugere efter søgning, hvis der kun blev fundet et resultat

Søgefunktionalitet er et must have, hvis du har at gøre med et større antal artikler. Hvis du skriver dagligt, kan du forestille dig antallet af artikler spredt over forskellige kategorier. Hvis du kun udgiver tre korte artikler om dagen, vil der være over tusind forskellige titler i din database efter det første år. Forestil dig dig selv at komme til webstedet for første gang, mens du leder efter noget specifikt – du vil gerne søge efter det.

Som standard søger WordPress gennem indlægstitler, tags og naturligvis indholdet. Så hvis du søger efter et ord eller en bestemt sætning, vil det sandsynligvis finde snesevis af indlæg og sider, der indeholder forespørgslen. Men hvad nu hvis der kun var et søgeresultat?

Hvis nogen søgte efter en meget specifik sætning eller en hel sætning, er chancerne for, at der kun vil være et par eller måske kun et resultat. jegf der kun er fundet et resultat, at omdirigere en bruger til søgeresultatsiden er ganske unødvendig. Hvorfor skulle du i stedet ikke tage denne bruger direkte til det indlæg / side, der blev fundet i resultatet?

Lad os se, hvordan vi gør det:

  1. Åbn features.php
  2. Kopier denne kode og indsæt den i slutningen af ​​filen:
  3. add_action ('template_redirect', 'redirect_search_result);
    funktion 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));
    Afslut;
    }
    }
    }
  4. Gem ændringer

Du har forberedt din WordPress på den nye funktionalitet. Når du har gemt ændringer, hver gang en bruger søger efter noget, der kun returnerer et resultat, vil denne bruger blive omdirigeret direkte til indlægget / siden.

Selvom det ser ud som noget meget, er vi sikre på, at dine besøgende kan lide dig ved at gemme dem et klik på en knap. Gemme et klik her og et klik der vil resultere i en bedre brugeroplevelse, og det er sandsynligvis noget, du ønsker på dit websted, er det ikke?

Omdiriger brugere, når der kun findes et indlæg i en kategori

I stedet for at åbne en kategori eller tagside, der kun indeholder et resultat, kan du omdirigere denne bruger direkte til indlægget / siden. Som med de fleste af vores kodestykker, vil det være nok bare at kopiere og indsætte koden:

Omdiriger en bruger, hvis der kun var et indlæg i en kategori eller et tag:

  1. Åbn filen features.php
  2. Kopier og indsæt følgende kode:
  3. funktion omdirigering_til_post () {
    global $ wp_query;
    hvis (is_archive () && $ wp_query-> post_count == 1) {
    Posten();
    $ post_url = get_permalink ();
    wp_redirect ($ post_url);
    }
    } add_action ('template_redirect', 'redirect_to_post');
    
  4. Gem ændringer

Når du er færdig med koden, og du har gemt ændringerne, kan du teste funktionen ved at åbne en kategori eller tagside, der kun indeholder et indlæg / en side i det. I stedet for at åbne en side, hvor kun det ene indlæg / side vises, vil du blive omdirigeret direkte til indlægget. Fantastisk, er det ikke?

Da nogle brugere muligvis bliver forvirrede af dette, ville det være en dejlig idé at inkludere en brugerdefineret besked, der fortæller brugerne, at der kun blev fundet et resultat, og at omdirigeringen fandt sted. Hvis du vil gøre det, kan du efterlade beskeden øverst på det indlæg / side, som en bruger blev omdirigeret til ved at indsætte en simpel “ekko” -sætning. I dette tilfælde ser din kode sådan ud:

funktion omdirigering_til_post () {
global $ wp_query;
hvis (is_archive () && $ wp_query-> post_count == 1) {
Posten();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
echo "Da der kun blev fundet et resultat, er du omdirigeret til dette indlæg / side!";
}
add_action ('template_redirect', 'redirect_to_post');

Nu når selv en meddelelse er implementeret, er du færdig, og du behøver ikke tage sig af de kategorier og tags, der kun indeholder et indlæg / en side. Men lad ikke denne funktion være en undskyldning for ikke at skrive nye artikler i kategorien.

Omdiriger brugere til en tilfældig side i WordPress

Dette er muligvis ikke en standardfunktion på alle WordPress-websteder, men det kan helt sikkert være et sjovt værktøj at have et sted på dit websted. Hvis du skriver meget eller måske har adskillige gallerier, kan du ende med tusinder af sider, som en gennemsnitlig bruger ikke får se. Så hvorfor ville du ikke gøre tingene lidt mere interessante med at omdirigere en bruger til et tilfældigt indlæg?

OK, du vil ikke omdirigere en bruger til et tilfældigt indlæg uden deres viden eller gøre det på hjemmesiden, selvfølgelig. Men du kan oprette en simpel knap eller et link, som en bruger kan klikke på, hvorefter han føres til en anden side på dit websted. Måske er det et galleri. Måske en sej redaktion, du havde skrevet for mange år siden. Hvem ved. Det kan være sjovt.

Lad os komme igang:

  1. Først skal du forberede dit omdirigeringslink. Åbn din features.php-fil
  2. Kopier og indsæt følgende kode:
  3. ADD_ACTION ( 'init', 'random_add_rewrite');
    funktion random_add_rewrite () {
    global $ wp;
    $ Wp-> add_query_var ( 'random');
    add_rewrite_rule ('random /? $', 'index.php? random = 1', 'top');
    }
    
    ADD_ACTION ( 'template_redirect', 'random_template');
    
    funktion random_template () {
    if (get_query_var ('tilfældig') == 1) {
    $ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1');
    foreach ($ poster som $ post) {
    $ link = get_permalink ($ post);
    }
    wp_redirect ($ link, 307);
    Afslut;
    }
    }
  4. Gem ændringer
  5. Gå til www.yourdomain.com/?random=1

Efter dette er du klar til at oprette dit link / knap. Alt hvad du skal gøre er at linke til http://www.yourdomain.com/?random=1 og hver gang en bruger åbner siden, vil han blive omdirigeret til en tilfældig side. Nyd din nye funktion.

Omdirigerer dig til konklusionen

Før eller senere ønsker du at omdirigere bestemte brugere i specifikke situationer. Uanset om der er en god grund til det, og du prøver at få dine besøgende til at købe noget, eller du bare ville gøre loginprocessen mere behagelig, vil denne tutorial hjælpe dig med at administrere omdirigeringer.

Hvis du er tilpas med kodning, vil du kunne forbedre dette og omdirigere brugere i forskellige situationer. Hvis ikke, håber vi, at disse eksempler var lige nok til at dække dine behov.

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