Jak přesměrovat uživatele v WordPress

Jak přesměrovat uživatele v WordPress


Přesměrování jsou standardní součástí webových stránek, pluginů a témat. Někteří se dějí přímo před očima a možná ani nevíte, co se děje v zádech.

Přestože jsou přesměrování obvykle ponechány vývojářům, ukážeme vám několik tipů, které vám umožní:

  • Přesměrovat uživatele po úspěšném přihlášení
  • Přesměrujte uživatele po přihlášení pomocí pluginu Peter’s Login Redirect
  • Přesměrovat uživatele po odhlášení
  • Přesměrování uživatelů po zanechání komentáře
  • Přesměrovat uživatele po vyhledávání, pokud byl nalezen pouze jeden výsledek
  • Přesměrovat uživatele Pokud je v kategorii nalezen pouze jeden příspěvek
  • Přesměrujte uživatele na náhodnou stránku ve WordPressu

Jak přesměrovat konkrétní uživatelské role po úspěšném přihlášení

V této části článku vám ukážeme kód, který můžete snadno upravit a kontrola, kde určitý uživatel přistane po úspěšném přihlášení na váš web podporující WordPress.

Ve výchozím nastavení převede WordPress každého uživatele na řídicí panel a to může být problém pro některé z vás. Možná chcete, aby vaši administrátoři a autoři zůstali na pozadí, zatímco chcete vést ostatní uživatele přímo na svou domovskou stránku nebo možná na jinou frontendovou stránku, kterou jste pro ně vytvořili.

Chcete-li přesměrovat uživatele na základě jejich rolí, postupujte podle následujících kroků:

  1. Otevřete soubor function.php
  2. Zkopírujte a vložte následující kód:
  3. function my_login_redirect ($ url, $ request, $ user) {
    if ($ user && is_object ($ user) && is_a ($ user, 'WP_User'))) {
    if ($ user-> has_cap ('administrator') nebo $ user-> has_cap ('author')) {
    $ url = admin_url ();
    } jinde {
    $ url = home_url ('/ custom-page /');
    }
    }
    návrat $ url;
    }
    add_filter ('login_redirect', 'my_login_redirect', 10, 3);
  4. Uložit změny

Výše uvedený kód ponechá administrátory právo tam, kde je potřeba – panel administrátorů, zatímco všichni ostatní uživatelé budou přesměrováni na vlastní stránku.

Můžete snadno změnit adresy URL změnou proměnné $ url ve 4tis a 6tis řádek a proto své uživatele dovedou ke všem příspěvkům / stránkám, které pro ně vytvořili.

Pokud chcete ovládat uživatelské role, můžete to snadno provést na třetím řádku kódu. Ve výše uvedeném příkladu jsme ponechali administrátory a autory na administrátorském panelu. Pokud tam chcete pouze administrátory, jednoduše odstraňte autory z obrázku:

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

Místo odebrání autorů můžete přidat i další role; je na vás, abyste se rozhodli, kdo skončí na které stránce.

A je to. S tímto kódem nepotřebujete žádný plugin pro kontrolu přesměrování poté, co se uživatel přihlásí. Pokud stále neměníte kód, podívejte se, jak přesměrovat uživatele po přihlášení pomocí pluginu.

Přesměrujte uživatele po přihlášení pomocí pluginu Peter’s Login Redirect

I když můžete po přihlášení rychle přesměrovat uživatele umístěním kódu, který jsme vám ukázali dříve, není to nejlepší volba pro ty, kteří se do kódování nedostanou. Pokud chcete získat větší kontrolu nad přesměrováním, budete muset vědět, jak upravit kód.

Místo úpravy kódu, ukážeme vám plugin, který za vás udělá špinavou práci. Jediné, co musíte udělat, je rozhodnout, kam se uživatel dostane, klikněte na několik zaškrtávacích políček a vložte URL, zatímco plugin se postará o zbytek.

Peterovo přesměrování přihlášení

Přestože existuje nespočet doplňků WordPress určených pro to samé, pro tuto část článku jsme vybrali Peterovo přesměrování přihlášení.

Tento plugin vám umožní vybrat uživatele na základě jejich jmen, uživatelských rolí a dokonce i uživatelských schopností a jednoduše vložte adresu URL, na kterou budou uživatelé přesměrováni po přihlášení. Je dokonce možné zvolit jinou stránku, pokud chcete přesměrovat daného uživatele nebo skupinu uživatelů po odhlášení. Kromě toho si můžete vybrat samostatnou adresu URL, která bude při registraci použita pro všechny uživatele jako cílová stránka.

Pokud vám to nestačí a chcete své přesměrování dále vylepšovat, přesměruje vás Peter’s Login Redirect. Pokud jste například vytvořili konkrétní stránku pro každého uživatele, můžete vygenerovat URL přímo z pluginu. V takovém případě bude stačit jednoduchý kód popsaný v pluginu zadejte uživatelské jméno uživatele, a tak vést konkrétního uživatele na jeho konkrétní stránku.

Nakonec je k dispozici několik možností pluginů, které vám pomohou dále řídit chování pluginu. Plugin můžete nastavit tak, aby používal pouze jeden typ adres URL, a například povolit použití pouze interních odkazů, ovládat přesměrování POST a GET, v případě potřeby použít externí soubor přesměrování a vybrat, kdo může tento plugin ovládat výběrem úrovní oprávnění.

Pokud potřebujete spravovat přihlášení, odhlášení a přesměrování registrace, Peterovo přesměrování přihlášení dostanete prakticky vše, co potřebujete. Jo, už jsme zmínili, že plugin je zdarma? Můžete jej získat z úložiště pluginů WordPress a nainstalovat jej za několik sekund. Poté stačí pouze navigovat Nastavení -> Přesměrování přihlášení / odhlášení.

Jak přesměrovat uživatele WordPress po odhlášení

Ve výchozím nastavení se uživatel při odhlášení z webu WordPress vrátí zpět na přihlašovací stránku. Zobrazí se zpráva, která uživatele upozorní na úspěšné odhlášení a zbytek navigace je ponechán na uživateli.

Ale co když chcete, aby vaši uživatelé byli automaticky přesměrován na vaši domovskou stránku, diskusní stránky, které chcete vidět, nebo na jiné zajímavé stránky? Možná chcete vytvořit jinou stránku pro odhlášení, která bude obsahovat speciální widgety nebo vaše uživatele dovede někam jinam? Pokud ano, budete potřebovat tento malý kód, aby se vše stalo.

Na několika dalších řádcích vám ukážeme, jak snadno přesměrovat uživatele na libovolnou adresu URL, kterou chcete. Pokud nechcete použít kód pro přesměrování, chystáme se vám ukázat jednoduchý plugin, který vám vše udělá za vás. Předtím však uživatele přesměrujeme na domovskou stránku:

  1. Otevřete soubor function.php
  2. Zkopírujte a vložte následující kód:
  3. add_action ('wp_logout', 'auto_redirect_after_logout');
    function auto_redirect_after_logout () {
    wp_redirect (home_url ());
    výstup();
    }
  4. Uložit změny
  5. Odhlášení a užijte si svou krásnou domovskou stránku

Je to jednoduché. Jak můžete hádat z kódu, můžete uživatele přesměrovat na jakoukoli jinou adresu URL změnou třetího řádku. Pokud tedy chcete uživatele nasměrovat na jinou stránku vašeho vlastního webu nebo na jakoukoli externí stránku, váš kód by měl vypadat asi takto:

add_action ('wp_logout', 'auto_redirect_after_logout');
function auto_redirect_after_logout () {
wp_redirect ('http://www.firstsiteguide.com');
výstup();
}

Pokud chcete s funkcí wp_redirect dělat více, můžete se o tom dozvědět více Stránky WordPress Codex.

Přesměrování přihlášení a odhlášení

CENA: Zdarma

Přesměrování přihlášení a odhlášení
Tento bezplatný plugin je relativně jednoduchý a dokonale vykoná svou práci. Namísto zpracování kódu vytvoří přihlašovací a odhlášení přesměrování na stránce nastavení další segment. Po instalaci a aktivaci musíte navigovat do Nastavení -> Obecné a posuňte se až na konec stránky. Zde najdete samostatná vstupní pole pro přesměrování přihlášení a odhlášení. Zadejte požadované adresy URL, uložte změny a máte hotovo!

Pokud potřebujete více možností přesměrování pro svůj web WordPress, doporučujeme vám zkontrolovat plugin pro přesměrování 5 sekund což vám může pomoci přesměrovat jakýkoli příspěvek, stránku, kategorii, značku nebo vlastní adresu URL. To vám umožní zakryjte své adresy URL což může být skvělá věc pro skrytí přidružených odkazů nebo libovolných adres URL od vašich návštěvníků. Plugin také zobrazuje statistiky o každém přesměrovaném odkazu, abyste věděli, co se na webu děje.

Přesměrování uživatelů po zanechání komentáře

Když začnete publikovat články, budete chtít, aby se lidé k nim samozřejmě vyjadřovali. V této části průvodce vám ukážeme, jak přesměrovat uživatele po odeslání komentáře.

Tato funkce se vám může hodit v konkrétních situacích. Můžete například chtít vytvořit vlastní stránku s poděkováním pro reklamní předměty, které organizujete. Pokud se návštěvníci účastní prozradí tak, že zanechají komentář, můžete je snadno přesměrovat na stránku „děkuji“, kde můžete poskytnout další informace o cenách..

Ve skutečnosti existuje spousta různých důvodů, proč můžete mít uživatele přesměrování po zanechání komentáře, takže bez dalších okolků je třeba udělat kroky k automatizaci procesu.

Přesměrování uživatele po odeslání komentáře:

  1. Otevřete soubor function.php
  2. Zkopírujte a vložte tento kód do souboru:
  3. funkce redirect_after_comment () {
    wp_redirect ('/ thank-you /');
    výstup();
    }
    add_filter ('comment_post_redirect', 'redirect_after_comment');
  4. Změňte název stránky na 2nd řádek
  5. Uložit změny

A je to. Nyní můžete pokračovat a otestovat tuto funkci. Otevřete libovolný z vašich příspěvků a zanechte komentář. Pokud jste vše udělali správně, měli byste skončit na stránce http: /www.yoursite.com/thank-you nebo na stránce uvedené v druhém řádku kódu.

Děkuji stránka

Nezapomeňte poděkovat lidem za komentáře, ale také nezapomeňte, že chcete, aby vaši návštěvníci zůstali na webu a pokračovali v prohlížení. Dobrým nápadem může být přidání seznamu vašich posledních nebo nejoblíbenějších příspěvků, nebo možná ještě lepší vyjmenování všech souvisejících příspěvků, které by mohly být zajímavé pro komentátora.. Pokud máte seznam e-mailů, je to dobré místo, kde se můžete přihlásit k odběru.

I když tato funkce nabízí snadný a rychlý způsob přesměrování uživatelů poté, co zanechali komentář, možná vás bude zajímat zapojit což vám poskytne některé další funkce.

Přesměrovat uživatele po vyhledávání, pokud byl nalezen pouze jeden výsledek

Funkce vyhledávání je nutností, pokud máte co do činění s větším počtem článků. Pokud píšete denně, představte si počet článků roztroušených v různých kategoriích. Pokud publikujete pouze tři krátké články denně, bude po prvním roce v databázi více než tisíc různých titulů. Nyní si představte, že na web přijdete poprvé, když hledáte něco konkrétního – budete jej chtít hledat.

Ve výchozím nastavení bude WordPress vyhledávat příspěvky, značky a samozřejmě obsah. Pokud tedy hledáte slovo nebo konkrétní frázi, pravděpodobně najde desítky příspěvků a stránek, které obsahují dotaz. Ale co kdyby tam byl jen jeden výsledek vyhledávání?

Pokud někdo hledal velmi konkrétní frázi nebo celou větu, je pravděpodobné, že tam bude jen pár nebo možná jen jeden výsledek. Jáf je nalezen pouze jeden výsledek, přesměrování uživatele na stránku s výsledky vyhledávání je zcela zbytečné. Proč místo toho nepřijdete přímo k příspěvku / stránce nalezené ve výsledku?

Podívejme se, jak na to:

  1. Otevřete function.php
  2. Zkopírujte tento kód a vložte jej na konec souboru:
  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-> příspěvky ['0'] -> ID));
    výstup;
    }
    }
    }
  4. Uložit změny

Připravili jste WordPress na novou funkci. Po uložení změn, pokaždé, když uživatel vyhledá něco, co vrátí pouze jeden výsledek, bude tento uživatel přesměrován přímo na příspěvek / stránku.

I když to vypadá jako nic moc, jsme si jistí, že vaši návštěvníci vás budou rádi, když si je uložíte kliknutím na tlačítko. Uložení kliknutí sem a kliknutí na něj povede k lepšímu uživatelskému prostředí a to je asi něco, co na svém webu pravděpodobně chcete,?

Přesměrovat uživatele, pokud je v kategorii nalezen pouze jeden příspěvek

Místo otevírání stránky kategorie nebo značky, která obsahuje pouze jeden výsledek, můžete uživatele přesměrovat přímo na příspěvek / stránku. Stejně jako u většiny našich fragmentů kódu bude stačit pouze zkopírovat a vložit kód:

Přesměrovat uživatele, pokud byl v kategorii nebo značce pouze jeden příspěvek:

  1. Otevřete soubor function.php
  2. Zkopírujte a vložte následující kód:
  3. function redirect_to_post () {
    global $ wp_query;
    if (is_archive () && $ wp_query-> post_count == 1) {
    pošta();
    $ post_url = get_permalink ();
    wp_redirect ($ post_url);
    }
    } add_action ('template_redirect', 'redirect_to_post');
    
  4. Uložit změny

Po dokončení kódu a uložení změn můžete funkci otestovat otevřením stránky kategorie nebo značky, která v ní obsahuje pouze jeden příspěvek / stránku. Místo otevírání stránky, kde se zobrazuje pouze jeden příspěvek / stránka, budete přesměrováni přímo na příspěvek. Úžasné, není to tak?

Vzhledem k tomu, že by se někteří uživatelé mohli zmást, bylo by dobré přidat vlastní zprávu, která uživatelům řekne, že byl nalezen pouze jeden výsledek a že došlo k přesměrování. Pokud to chcete udělat, můžete nechat zprávu v horní části příspěvku / stránky, na kterou byl uživatel přesměrován vložením jednoduchého příkazu „echo“. V takovém případě by váš kód vypadal takto:

function redirect_to_post () {
global $ wp_query;
if (is_archive () && $ wp_query-> post_count == 1) {
pošta();
$ post_url = get_permalink ();
wp_redirect ($ post_url);
}
echo "Protože byl nalezen pouze jeden výsledek, byli jste přesměrováni na tento příspěvek / stránku!";
}
add_action ('template_redirect', 'redirect_to_post');

Nyní, když už byla implementována zpráva, jste hotovi a nemusíte se starat o ty kategorie a značky, které obsahují pouze jeden příspěvek / stránku. Nenechte však tuto funkci omluvit, protože v této kategorii nepíšete nové články.

Přesměrujte uživatele na náhodnou stránku ve WordPressu

Nemusí to být standardní funkce každého webu WordPress, ale určitě to může být zábavný nástroj, který má někde na vašem webu. Pokud píšete hodně nebo máte mnoho galerií, můžete skončit s tisíci stránek, které průměrný uživatel neuvidí. Tak proč by jste věci trochu nezajímali přesměrováním uživatele na náhodný příspěvek?

Dobře, nebudete přesměrovat uživatele na náhodný příspěvek bez jeho vědomí, nebo to samozřejmě udělat na domovské stránce. Můžete si však vytvořit jednoduché tlačítko nebo odkaz, na který může uživatel kliknout a poté bude přesměrován na jinou stránku vašeho webu. Možná je to galerie. Možná skvělý úvodník, který jste napsali před lety. Kdo ví. Může to být zábava.

Začněme:

  1. Nejprve musíte připravit přesměrovací odkaz. Otevřete soubor features.php
  2. Zkopírujte a vložte následující kód:
  3. add_action ('init', 'random_add_rewrite');
    function random_add_rewrite () {
    globální $ wp;
    $ wp-> add_query_var ('random');
    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 ($ příspěvky jako $ příspěvek) {
    $ link = get_permalink ($ post);
    }
    wp_redirect ($ link, 307);
    výstup;
    }
    }
  4. Uložit změny
  5. Přejděte na stránku www.yourdomain.com/?random=1

Poté jste připraveni vytvořit svůj odkaz / tlačítko. Vše, co musíte udělat, je odkaz na http://www.yourdomain.com/?random=1 a pokaždé, když uživatel stránku otevře, bude přesměrován na náhodnou stránku. Užijte si svou novou funkci.

Přesměruje vás na závěr

Dříve nebo později budete chtít přesměrovat konkrétní uživatele v konkrétních situacích. Ať už je k tomu dobrý důvod a vy se snažíte přimět návštěvníky, aby si něco koupili, nebo jste jen chtěli, aby byl proces přihlášení pohodlnější, tento tutoriál vám pomůže spravovat přesměrování.

Pokud jste s kódováním dostatečně spokojeni, budete moci vylepšit a přesměrovat uživatele v různých situacích. Pokud ne, doufáme, že tyto příklady stačily k pokrytí vašich potřeb.

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