Přeskočit na obsah

Web nefunguje? Volejte Web nefunguje? +420 721 589 155 nebo nám napište Napište nám

Snippety

Přesměrování uživatelů

Zdeněk Vojáček Publikováno 2 min čtení

Pozor:

Článek je z roku 2014. Některé postupy se mohly změnit.

Může se Vám stát, že budete potřebovat přesměrovat uživatele na vašich stránkách.

Například budete mít web jen pro registrované uživatele a nechcete aby se tam brouzdal někdo nepřihlášený. Uděláte to tak, že následující kód přidáte do functions.php v šabloně.

function funkce_pro_presmerovani() {
if ( ! is_user_logged_in()) {
wp_redirect( home_url() . '/wp-login.php' );
exit;
}
}
add_action( 'template_redirect', 'funkce_pro_presmerovani' );

Funkce udělá to, že pokud není uživatel přihlášen, tak ho to přesměruje na zvolenou stránku. V tomto případě na stránku http://vaše_doména.cz/wp-login.php
Poté funkci pro přesměrování zavěsíme do kotvy která se spustí před načtením stránky. Tím docílíme toho že místo stránky, kterou chtěl nepřihlášený uživatel otevřít, se mu otevře námi zvolená stránka.

Další možností použití je přesměrování přihlášených uživatelů. Například nepotřebujete aby se administrátor a čtenář přihlásili do stejné sekce.
function presmerovani_uzivatele_podle_role(){
global $current_user;
get_currentuserinfo();

$uziv_roles = $current_user->roles;
$uziv_role = array_shift($uziv_roles);
if ($uziv_role == 'Administrator'){
wp_redirect( home_url() . '/administrace' ); exit;
}elseif($uziv_role == 'Autor'){
wp_redirect( home_url() . '/stranka-pro-autory' ); exit;
}elseif($uziv_role == 'Ctenar'){
wp_redirect( home_url() . '/stranka-pro-ctenare' ); exit;
}else{
wp_redirect( home_url() . '/stranka-pro-ostatni-prihlasene' ); exit;
}

add_action('admin_init','presmerovani_uzivatele_podle_role');

Pomoci prvních čtyř příkazů v naší funkci si zjistíme kdo je přihlášen, načteme si jeho informace a z nich si do proměnné $Uziv_role uložíme název uživatelovi role.

Poté si jen pomocí funkce IF určíme kam přesměrujeme uživatele s danou rolí.

Nakonec celý kód zavěsíme do kotvy jako v prvním případě.

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Autor

Zdeněk Vojáček

Milovník žen, masa a PHP kódu

11 článků Všechny články autora

Komentáře

Zatím tu nikdo nekomentoval. Napište první komentář.

Přidat komentář

E-mail nezveřejníme. Povinná pole jsou označena hvězdičkou.

Jak zacházíme s údaji z komentářů, popisují zásady ochrany osobních údajů.